public void ServiceComponentService_GetByCustomer_CustomerIdSupplied_ReturnsOnlyThoseComponentsForCustomer()
        {
            var results = _target
                          .GetByCustomer(CustomerId)
                          .ToList();

            Assert.IsFalse(results.Any(x => x.ServiceFunction.ServiceDomain.ServiceDesk.CustomerId != CustomerId));
        }
        protected SaveServiceComponentPreChecksResult SaveServiceComponentPreChecks(EditServiceComponentViewModel model,
                                                                                    IEnumerable <ServiceComponentEditState> requiredStates)
        {
            var result = new SaveServiceComponentPreChecksResult
            {
                IsValid = false
            };

            if (!ModelState.IsValid)
            {
                result.Result = View("Edit" + model.EditLevel, model);
                return(result);
            }

            // Get the existing Service Component.
            result.ServiceComponent = _serviceComponentService
                                      .GetByCustomer(_appUserContext.Current.CurrentCustomer.Id)
                                      .SingleOrDefault(x => x.Id == model.Id);

            if (result.ServiceComponent == null)
            {
                ModelState.AddModelError(ModelStateErrorNames.ServiceComponentEditCannotBeFound, WebResources.ServiceComponentEditCannotBeFound);
                result.Result = View("Edit" + model.EditLevel, model);
                return(result);
            }

            var state = _serviceComponentHelper.GetEditState(result.ServiceComponent);

            if (!requiredStates.Contains(state))
            {
                ModelState.AddModelError(ModelStateErrorNames.ServiceComponentIncorrectState, WebResources.ServiceComponentIncorrectState);
                result.Result = View("Edit" + model.EditLevel, model);
                return(result);
            }

            var now      = DateTime.Now;
            var userName = _contextManager.UserManager.Name;

            result.ServiceComponent.UpdatedBy   = userName;
            result.ServiceComponent.UpdatedDate = now;

            result.IsValid = true;
            return(result);
        }
Beispiel #3
0
        public ActionResult DeleteAjaxServiceComponentsGrid([DataSourceRequest] DataSourceRequest request,
                                                            ServiceComponentViewModel model)
        {
            try
            {
                if (_appUserContext.Current?.CurrentCustomer != null && _appUserContext.Current.CurrentCustomer.Id > 0)
                {
                    var serviceComponent = _serviceComponentService
                                           .GetByCustomer(_appUserContext.Current.CurrentCustomer.Id)
                                           .SingleOrDefault(x => x.Id == model.Id);

                    if (serviceComponent != null)
                    {
                        if (_serviceComponentHelper.CanDelete(serviceComponent))
                        {
                            _serviceComponentService.Delete(serviceComponent);
                        }
                        else
                        {
                            ModelState.AddModelError(ModelStateErrorNames.ServiceComponentCannotBeDeletedDueToDependents,
                                                     WebResources.ServiceComponentCannotBeDeletedDueToDependents);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(ModelStateErrorNames.ServiceComponentCannotBeFound,
                                                 WebResources.ServiceComponentCannotBeFound);
                    }
                }
            }
            catch (Exception ex)
            {
                _contextManager.ResponseManager.StatusCode = 500;
                _contextManager.ResponseManager.AppendHeader(ModelStateErrorNames.ErrorMessage, ex.Message);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }