public ModifyTerritoryResponse ModifyTerritory(ModifyTerritoryRequest request)
        {
            ModifyTerritoryResponse response = new ModifyTerritoryResponse();

            Territory territory = _territoryRepository
                                  .FindBy(request.TerritoryID);

            territory.Id = request.TerritoryID;
            territory.TerritoryDescription = request.TerritoryDescription;
            territory.Employees            = request.Employees.ConvertToEmployees();
            territory.Region = request.Region.ConvertToRegion();


            if (territory.GetBrokenRules().Count() > 0)
            {
                response.Errors = territory.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _territoryRepository.Save(territory);
                    _uow.Commit();
                    response.Errors = new List <BusinessRule>();
                } catch (Exception ex)
                {
                    response.Errors = new List <BusinessRule>();
                    response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message));
                }
            }


            return(response);
        }
Beispiel #2
0
        public JsonResult Update(TerritoryDetailView vm)
        {
            GetTerritoryRequest request = new GetTerritoryRequest();

            request.TerritoryID = vm.TerritoryID;

            ModifyTerritoryRequest updateRequest = _territoryService.GetTerritory(request).Territory.ConvertToModifyTerritoryRequest();

            updateRequest.TerritoryID          = vm.TerritoryID;
            updateRequest.TerritoryDescription = vm.TerritoryDescription;
            GetRegionRequest regionRequest = new GetRegionRequest();

            regionRequest.RegionID = vm.RegionRegionID;
            updateRequest.Region   = _regionService.GetRegion(regionRequest).Region;

            ModifyTerritoryResponse response = _territoryService.ModifyTerritory(updateRequest);

            return(Json(response));
        }