public IHttpActionResult Update(int id, DTO.ForwarderMng.Forwarder dtoItem) { Library.DTO.Notification notification; // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (id > 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanUpdate)) { // edit case return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } else if (id == 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanCreate)) { // create new case return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } // validation if (!Helper.CommonHelper.ValidateDTO <DTO.ForwarderMng.Forwarder>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.ForwarderMng.Forwarder>() { Data = dtoItem, Message = notification })); } // continue processing BLL.ForwarderMng bll = new BLL.ForwarderMng(Helper.AuthHelper.GetCurrentUserFolder(ControllerContext)); bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); if (notification.Type == Library.DTO.NotificationType.Error) { return(InternalServerError(new Exception(notification.Message))); } return(Ok(new Library.DTO.ReturnData <DTO.ForwarderMng.Forwarder>() { Data = dtoItem, Message = notification })); }
public void DTO2BD_Forwarder(DTO.ForwarderMng.Forwarder dtoItem, ref Forwarder dbItem, string tempFolder) { if (dtoItem.ForwarderImages != null) { foreach (var item in dbItem.ForwarderImage.ToArray()) { if (!dtoItem.ForwarderImages.Select(s => s.ForwarderImageID).Contains(item.ForwarderImageID)) { dbItem.ForwarderImage.Remove(item); } } foreach (var dto in dtoItem.ForwarderImages) { ForwarderImage item; if (dto.ForwarderImageID < 0) { item = new ForwarderImage(); dbItem.ForwarderImage.Add(item); } else { item = dbItem.ForwarderImage.FirstOrDefault(s => s.ForwarderImageID == dto.ForwarderImageID); } if (item != null) { AutoMapper.Mapper.Map <DTO.ForwarderMng.ForwarderImage, ForwarderImage>(dto, item); if (dto.File_HasChange.HasValue && dto.File_HasChange.Value) { Module.Framework.DAL.DataFactory fwFactory = new Module.Framework.DAL.DataFactory(); item.FileUD = fwFactory.CreateNoneImageFilePointer(tempFolder, dto.File_NewFile, dto.FileUD); } } } } if (dtoItem.ForwarderPICs != null) { foreach (var item1 in dbItem.ForwarderPIC.ToArray()) { if (!dtoItem.ForwarderPICs.Select(s => s.ForwarderPICID).Contains(item1.ForwarderPICID)) { dbItem.ForwarderPIC.Remove(item1); } } foreach (var dto1 in dtoItem.ForwarderPICs) { ForwarderPIC item1; if (dto1.ForwarderPICID < 0) { item1 = new ForwarderPIC(); dbItem.ForwarderPIC.Add(item1); } else { item1 = dbItem.ForwarderPIC.FirstOrDefault(s => s.ForwarderPICID == dto1.ForwarderPICID); } if (item1 != null) { AutoMapper.Mapper.Map <DTO.ForwarderMng.ForwarderPIC, ForwarderPIC>(dto1, item1); } } } AutoMapper.Mapper.Map <DTO.ForwarderMng.Forwarder, Forwarder>(dtoItem, dbItem); }