Пример #1
0
        public async Task <IActionResult> Settings(OrderSetttingsView model, IFormCollection form, CancellationToken cancellationToken)
        {
            var department = await _departmentsService.GetDepartmentByIdAsync(DepartmentId);

            var settings = await _resourceOrdersService.GetSettingsByDepartmentIdAsync(DepartmentId);

            if (ModelState.IsValid)
            {
                if (settings == null)
                {
                    settings = new ResourceOrderSetting();
                    settings.DepartmentId    = DepartmentId;
                    settings.ImportEmailCode = RandomGenerator.GenerateRandomString(6, 6, false, true, false, true, true, false, null);
                }

                settings.AllowedStaffingLevelToReceiveNotifications = model.Settings.AllowedStaffingLevelToReceiveNotifications;
                settings.AutomaticFillAcceptance                  = model.Settings.AutomaticFillAcceptance;
                settings.BoundryGeofence                          = model.Settings.BoundryGeofence;
                settings.DefaultResourceOrderManagerUserId        = model.Settings.DefaultResourceOrderManagerUserId;
                settings.DoNotReceiveOrders                       = model.Settings.DoNotReceiveOrders;
                settings.LimitStaffingLevelToReceiveNotifications = model.Settings.LimitStaffingLevelToReceiveNotifications;
                settings.NotifyUsers = model.Settings.NotifyUsers;
                settings.Range       = model.Settings.Range;
                settings.RoleAllowedToFulfilOrdersRoleId = model.Settings.RoleAllowedToFulfilOrdersRoleId;
                settings.Visibility = model.Settings.Visibility;

                if (form.ContainsKey("departmentTypes"))
                {
                    settings.TargetDepartmentType = form["departmentTypes"].ToString();
                }

                if (form.ContainsKey("notifyRoles"))
                {
                    settings.UserIdsToNotifyOnOrders = form["notifyRoles"].ToString();
                }

                await _resourceOrdersService.SaveSettingsAsync(settings, cancellationToken);

                return(RedirectToAction("Index"));
            }

            model.OrderVisibilities = model.Visibility.ToSelectListInt();

            var staffingLevels = await _customStateService.GetActiveStaffingLevelsForDepartmentAsync(DepartmentId);

            if (staffingLevels == null)
            {
                model.StaffingLevels = model.UserStateTypes.ToSelectListInt();
            }
            else
            {
                model.StaffingLevels = new SelectList(staffingLevels.GetActiveDetails(), "CustomStateDetailId", "ButtonText");
            }

            model.SetUsers(await _departmentsService.GetAllUsersForDepartmentAsync(DepartmentId, false, true), await _departmentsService.GetAllPersonnelNamesForDepartmentAsync(DepartmentId));


            return(View(model));
        }
Пример #2
0
        public async Task <ResourceOrderSetting> SaveSettings(ResourceOrderSetting settings)
        {
            using (IDbConnection db = new SqlConnection(connectionString))
            {
                if (settings.ResourceOrderSettingId == 0)
                {
                    await db.InsertAsync <ResourceOrderSetting>(settings);
                }
                else
                {
                    await db.UpdateAsync(settings);
                }
            }

            return(settings);
        }
Пример #3
0
 public async Task <ResourceOrderSetting> SaveSettingsAsync(ResourceOrderSetting settings, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(await _resourceOrderSettingsRepository.SaveOrUpdateAsync(settings, cancellationToken));
 }
Пример #4
0
 public async Task <ResourceOrderSetting> SaveSettings(ResourceOrderSetting settings)
 {
     return(await _resourceOrdersRepository.SaveSettings(settings));
 }