Доработка сценария на C#
100 UAHДобрый день.
Занимаюсь внедрением системы управления бизнес-процессами ELMA BPM.
Система с открытым кодом и позволяет расширять функционал за счет использования сценариев на языке C#.
Заинтересован в долгосрочном сотрудничества по написанию сценариев на C#, написанию java скриптов, доработке форм отображения на Razor, а также задач по интеграции системы с другими приложениями и системами.
Очень важно, чтобы коммуникация осуществлялась не только через сообщения на freelancehunt, но и голосом по скайпу / телефону, а также готовность выполнять работу с почасовой оплатой.
На сегодняшний день необходимо решить маленькую задачу с записью данных, то есть доработать сценарий на C#.
Есть "Проект" - объект системы в котором есть блок с вложенным блоком (рис. 1), на форме это выглядит как таблица в таблице ("Период" в который добавляются Эксперты - рис. 1.1.)
Есть некий бизнес-процесс, в котором присутствует переменные "Период" и "Эксперт", значения которых необходимо записать в выбранный проект (рис. 2).
То есть, должно быть вот так:
1. Берем указанный проект, если в таблице "ExpertsCostsTop1" нет записей, то создает запись и добавляем указанный период.
2. Если есть записи, проходим циклом по имеющимся периодам, если не находим указанный период, создаем его и добавляем в него Эксперта.
3. Если есть записи, то проходим циклом по периодам, находим период совпадающий с указанным и записываем в него эксперта.
Текущий сценарий выполняет только 1 и 3 условия, а на втором, если период существует, то добавляет его повторно (рис. 3).
Надеюсь что все описал доступно. Готов подробно показать посредством демонстрации экрана по скайпу и дать удаленный доступ к серверу с дизайнером и компилятору c#. Также, система имеет встроенный SharpDevelop v. 4.4.1.
Текст сценария:
public virtual void Calculated (Context context, EleWise.ELMA.Model.Views.FormViewBuilder<Context> form)
{
foreach (var pr in context.TimeSheet)
{
// 1 Если блок пустой, добавляем текущий период
if (pr.Project2.ExpertsCostsTop1.Count() == 0)
{
var pp = InterfaceActivator.Create<ProjectTest_ExpertsCostsTop1>();
pp.Period = context.WorkPeriod;
pr.Project2.ExpertsCostsTop1.Add(pp);
pr.Project2.Save();
}
// Обновляем коллекцию командой HashSet
var tempList = new HashSet<ProjectTest_ExpertsCostsTop1>(pr.Project2.ExpertsCostsTop1);
foreach (var ad in tempList)
{
// 2 Если в блоке период отсутствует, добавляем сначала период и после записываем в него эксперта
if (ad.Period != context.WorkPeriod)
{
// Добавляем период
var dd = InterfaceActivator.Create<ProjectTest_ExpertsCostsTop1>();
dd.Period = context.WorkPeriod;
//Добавляем эксперта
var dd2 = InterfaceActivator.Create<ProjectTest_ExpertsCostsTop1_Experts>();
dd2.Expert = context.Employee;
dd2.Amount = pr.Total * 100;
dd2.Days = pr.Total;
dd.Experts.Add(dd2);
dd.Total = ad.Experts.Sum(r => r.Amount);
pr.Project2.ExpertsCostsTop1.Add(dd);
pr.Project2.Save();
}
// 3 Если период существует, добавляем в него эксперта
else
{
var rr = InterfaceActivator.Create<ProjectTest_ExpertsCostsTop1_Experts>();
rr.Expert = context.Employee;
rr.Amount = pr.Total * 100;
rr.Days = pr.Total;
ad.Experts.Add(rr);
ad.Total = ad.Experts.Sum(r => r.Amount);
pr.Project2.Save();
}
}
}
}
Приложения 4
Отзыв заказчика о сотрудничестве с Александром Пыжом
Доработка сценария на C#Все супер. Проект выполнен быстро и качественно! Рекомендую!
Отзыв фрилансера о сотрудничестве с Владиславом Васильківським
Доработка сценария на C#Отличный заказчик. Пообщались в скайпе, выяснили все проблемы, решили задачу.
Все четко, ясно и быстро. Рекомендую к сотрудничеству.
-
197 2 0 Добрый день.
Готов к долгосрочному сотрудничеству.
Опыт, соответствующий вашим требованиям имеется.
Резюме:Google Drive
Контакты для связи:
Skype: pyzh1998
Тел: 050-404-89-68
Пишите/звоните, обсудим все детальнее.
Буду рад сотрудничеству.
-
499 24 0 1 Доброго времени суток!
Готов прямо сейчас приступить к выполнению задачи.
Актуальные фриланс-проекты в категории C#
Небольшая игра для Unity 2dТз тут, сцена, UI, графика уже есть нужно только запрограммировать https://www.figma.com/design/btykPl7Odr8ggvwmTqO8pH/Robo-Loop?node-id=0-1&t=vlanszjRgKHH5U5m-1 C# ∙ 1 день 14 часов назад ∙ 15 ставок |
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 5 дней 16 часов назад ∙ 2 ставки |
Создание плагина для интеграции с POS-системой Syrve, C#Разработать плагин для POS-системы Syrve (on-premise), который устанавливается на сервер заведения. Плагин должен: (1) передавать на наш сервер данные в режиме реального времени — заказы, статусы столов, платежи, чеки; (2) принимать команды от Reservble — подтверждения… C#, Веб-программирование ∙ 8 дней 12 часов назад ∙ 14 ставок |