public IHttpActionResult Update(int id, DTO.FrameMaterialOptionMng.FrameMaterialOption 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.FrameMaterialOptionMng.FrameMaterialOption>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.FrameMaterialOptionMng.FrameMaterialOption>() { Data = dtoItem, Message = notification })); } // continue processing BLL.FrameMaterialOptionMng bll = new BLL.FrameMaterialOptionMng(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.FrameMaterialOptionMng.FrameMaterialOption>() { Data = dtoItem, Message = notification })); }
public void DTO2BD(DTO.FrameMaterialOptionMng.FrameMaterialOption dtoItem, ref FrameMaterialOption dbItem) { AutoMapper.Mapper.Map <DTO.FrameMaterialOptionMng.FrameMaterialOption, FrameMaterialOption>(dtoItem, dbItem); dbItem.UpdatedDate = DateTime.Now; if (dbItem.FrameMaterialOptionID == 0) { dbItem.CreatedBy = dtoItem.CreatedBy; dbItem.CreatedDate = DateTime.Now; } // map child if (dtoItem.ProductGroups != null) { // map child rows foreach (DTO.FrameMaterialOptionMng.ProductGroup dtoGroup in dtoItem.ProductGroups) { FrameMaterialOptionProductGroup dbGroup; if (dtoGroup.FrameMaterialOptionProductGroupID <= 0) { dbGroup = new FrameMaterialOptionProductGroup(); dbItem.FrameMaterialOptionProductGroup.Add(dbGroup); } else { dbGroup = dbItem.FrameMaterialOptionProductGroup.FirstOrDefault(o => o.FrameMaterialOptionProductGroupID == dtoGroup.FrameMaterialOptionProductGroupID); } if (dbGroup != null) { AutoMapper.Mapper.Map <DTO.FrameMaterialOptionMng.ProductGroup, FrameMaterialOptionProductGroup>(dtoGroup, dbGroup); } } } // map pieces if (dtoItem.MaterialOptions != null) { // check for child rows deleted foreach (FrameMaterialOptionMaterialOption dbMaterialOption in dbItem.FrameMaterialOptionMaterialOption.ToArray()) { if (!dtoItem.MaterialOptions.Select(o => o.FrameMaterialOptionMaterialOptionID).Contains(dbMaterialOption.FrameMaterialOptionMaterialOptionID)) { dbItem.FrameMaterialOptionMaterialOption.Remove(dbMaterialOption); } } // map child rows foreach (DTO.FrameMaterialOptionMng.FrameMaterialOptionMaterialOption dtoMaterialOption in dtoItem.MaterialOptions) { FrameMaterialOptionMaterialOption dbMaterialOption; if (dtoMaterialOption.FrameMaterialOptionMaterialOptionID <= 0) { dbMaterialOption = new FrameMaterialOptionMaterialOption(); dbItem.FrameMaterialOptionMaterialOption.Add(dbMaterialOption); } else { dbMaterialOption = dbItem.FrameMaterialOptionMaterialOption.FirstOrDefault(o => o.FrameMaterialOptionMaterialOptionID == dtoMaterialOption.FrameMaterialOptionMaterialOptionID); } if (dbMaterialOption != null) { AutoMapper.Mapper.Map <DTO.FrameMaterialOptionMng.FrameMaterialOptionMaterialOption, FrameMaterialOptionMaterialOption>(dtoMaterialOption, dbMaterialOption); } } } }
public DTO.FrameMaterialOptionMng.FrameMaterialOption DB2DTO_FrameMaterialOption(FrameMaterialOptionMng_FrameMaterialOption_View dbItem) { DTO.FrameMaterialOptionMng.FrameMaterialOption dtoItem = AutoMapper.Mapper.Map <FrameMaterialOptionMng_FrameMaterialOption_View, DTO.FrameMaterialOptionMng.FrameMaterialOption>(dbItem); return(dtoItem); }