public IHttpActionResult Update(int id, DTO.MaterialOptionMng.MaterialOption 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.MaterialOptionMng.MaterialOption>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.MaterialOptionMng.MaterialOption>() { Data = dtoItem, Message = notification })); } // continue processing BLL.MaterialOptionMng bll = new BLL.MaterialOptionMng(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.MaterialOptionMng.MaterialOption>() { Data = dtoItem, Message = notification })); }
public DTO.MaterialOptionMng.MaterialOption DB2DTO_MaterialOption(MaterialOptionMng_MaterialOption_View dbItem) { DTO.MaterialOptionMng.MaterialOption dtoItem = AutoMapper.Mapper.Map <MaterialOptionMng_MaterialOption_View, DTO.MaterialOptionMng.MaterialOption>(dbItem); dtoItem.ConcurrencyFlag_String = Convert.ToBase64String(dtoItem.ConcurrencyFlag); return(dtoItem); }
public void DTO2DB(DTO.MaterialOptionMng.MaterialOption dtoItem, ref MaterialOption dbItem) { AutoMapper.Mapper.Map <DTO.MaterialOptionMng.MaterialOption, MaterialOption>(dtoItem, dbItem); //dbItem.UpdatedDate = DateTime.Now; //if (dtoItem.MaterialOptionID == 0) //{ // dbItem.CreatedBy = dtoItem.CreatedBy; // dbItem.CreatedDate = DateTime.Now; //} // map child if (dtoItem.ProductGroups != null) { // map child rows foreach (DTO.MaterialOptionMng.ProductGroup dtoGroup in dtoItem.ProductGroups) { MaterialOptionProductGroup dbGroup; if (dtoGroup.MaterialOptionProductGroupID <= 0) { dbGroup = new MaterialOptionProductGroup(); dbItem.MaterialOptionProductGroup.Add(dbGroup); } else { dbGroup = dbItem.MaterialOptionProductGroup.FirstOrDefault(o => o.MaterialOptionProductGroupID == dtoGroup.MaterialOptionProductGroupID); } if (dbGroup != null) { AutoMapper.Mapper.Map <DTO.MaterialOptionMng.ProductGroup, MaterialOptionProductGroup>(dtoGroup, dbGroup); } } } if (dtoItem.MaterialOptionTestReports != null) { // check for child rows deleted foreach (var dbReport in dbItem.MaterialOptionTestReport.ToArray()) { if (!dtoItem.MaterialOptionTestReports.Select(o => o.MaterialOptionTestReportID).Contains(dbReport.MaterialOptionTestReportID)) { dbItem.MaterialOptionTestReport.Remove(dbReport); } } foreach (var dtoReport in dtoItem.MaterialOptionTestReports) { MaterialOptionTestReport dbReport; if (dtoReport.MaterialOptionTestReportID <= 0) { dbReport = new MaterialOptionTestReport(); dbItem.MaterialOptionTestReport.Add(dbReport); } else { dbReport = dbItem.MaterialOptionTestReport.FirstOrDefault(o => o.MaterialOptionTestReportID == dtoReport.MaterialOptionTestReportID); } if (dbReport != null) { AutoMapper.Mapper.Map <DTO.MaterialOptionMng.MaterialOptionTestReport, MaterialOptionTestReport>(dtoReport, dbReport); dbReport.UpdatedBy = dtoItem.UpdatedBy; dbReport.UpdatedDate = DateTime.Now; } } } }