public PartnerActionMapModel UpdateMap(PartnerActionMapModel map) { if (!_partnerService.Exists(map.PartnerId)) { throw new InvalidOperationException(ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_PartnerDoesNotExist); } if (!_actionService.Exists(map.ActionId)) { throw new InvalidOperationException(ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_ActionDoesNotExist); } if (_service.PartnerActionMapExists(map.PartnerId, map.ActionId)) { throw new InvalidOperationException(ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_MapAlreadyExists); } var dMap = _service.GetPartnerActionMap(map.Id); dMap.PartnerId = map.PartnerId; dMap.ActionId = map.ActionId; var ret = _service.Update(dMap); return(_mapper.Map <PartnerActionMap, PartnerActionMapModel>(ret)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,PartnerId,ActionId,CreatedDate")] PartnerActionMapModel map) { if (id != map.Id) { return(NotFound()); } if (ModelState.IsValid) { try { map = _factory.UpdateMap(map); return(RedirectToAction(nameof(Index))); } catch (InvalidOperationException e) { // log error here var allowedErrors = new List <string>() { ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_ActionDoesNotExist, ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_PartnerDoesNotExist, ServicesConstants.UpdatePartnerActionMap_NotAllowedReasonMessage_MapAlreadyExists, }; if (allowedErrors.Contains(e.Message ?? "")) { return(View("CustomError", new CustomErrorViewModel() { HeaderMessage = "Not allowed", Message = e.Message, ReturnUrls = new Dictionary <string, string>() { { "Back to Edit Partner Action Map page", Url.Action("Edit", "PartnerActionMap", new { area = "Admin" }) }, { "Go to Partner Action Maps List", Url.Action("Index", "PartnerActionMap", new { area = "Admin" }) }, } })); } else { return(RedirectToAction(nameof(Index))); } } catch (Exception e) { // log error here return(RedirectToAction(nameof(Index))); } } ViewData["ActionId"] = new SelectList(_actionFactory.GetAll(), "Id", "Name", map.ActionId); ViewData["PartnerId"] = new SelectList(_partnerFactory.GetAll(), "Id", "Name", map.PartnerId); return(View(map)); }
public PartnerActionMapModel CreateMap(PartnerActionMapModel map) { if (!_partnerService.Exists(map.PartnerId)) { throw new InvalidOperationException(ServicesConstants.CreatePartnerActionMap_NotAllowedReasonMessage_PartnerDoesNotExist); } if (!_actionService.Exists(map.ActionId)) { throw new InvalidOperationException(ServicesConstants.CreatePartnerActionMap_NotAllowedReasonMessage_ActionDoesNotExist); } if (_service.PartnerActionMapExists(map.PartnerId, map.ActionId)) { throw new InvalidOperationException(ServicesConstants.CreatePartnerActionMap_NotAllowedReasonMessage_MapAlreadyExists); } var nMap = _mapper.Map <PartnerActionMapModel, PartnerActionMap>(map); nMap.CreatedDate = DateTime.UtcNow; var ret = _service.Create(nMap); return(_mapper.Map <PartnerActionMap, PartnerActionMapModel>(ret)); }