public IHttpActionResult Update(int id, DTO.CushionColorMng.CushionColor dtoItem) { Library.DTO.Notification notification; // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); bool authenticated = true; if (id > 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanUpdate)) { // edit case authenticated = false; } else if (id == 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanCreate)) { // create new case authenticated = false; } if (!authenticated) { notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Error, Message = Properties.Resources.NOT_AUTHORIZED }; return(Ok(new Library.DTO.ReturnData <DTO.CushionColorMng.CushionColor>() { Data = null, Message = notification })); } // validation if (!Helper.CommonHelper.ValidateDTO <DTO.CushionColorMng.CushionColor>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.CushionColorMng.CushionColor>() { Data = dtoItem, Message = notification })); } // continue processing BLL.CushionColorMng bll = new BLL.CushionColorMng(Helper.AuthHelper.GetCurrentUserFolder(ControllerContext)); bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.CushionColorMng.CushionColor>() { Data = dtoItem, Message = notification })); }
public void DTO2BD(DTO.CushionColorMng.CushionColor dtoItem, string tempFolder, ref CushionColor dbItem) { AutoMapper.Mapper.Map <DTO.CushionColorMng.CushionColor, CushionColor>(dtoItem, dbItem); dbItem.UpdatedDate = DateTime.Now; // Tri // Add created Cushion Color if (dtoItem.CushionColorID == 0) { dbItem.CreatedBy = dtoItem.CreatedBy; dbItem.CreatedDate = DateTime.Now; } // map child if (dtoItem.CushionColorProductGroups != null) { // map child rows foreach (DTO.CushionColorMng.CushionColorProductGroup dtoGroup in dtoItem.CushionColorProductGroups) { CushionColorProductGroup dbGroup; if (dtoGroup.CushionColorProductGroupID <= 0) { dbGroup = new CushionColorProductGroup(); dbItem.CushionColorProductGroup.Add(dbGroup); } else { dbGroup = dbItem.CushionColorProductGroup.FirstOrDefault(o => o.CushionColorProductGroupID == dtoGroup.CushionColorProductGroupID); } if (dbGroup != null) { AutoMapper.Mapper.Map <DTO.CushionColorMng.CushionColorProductGroup, CushionColorProductGroup>(dtoGroup, dbGroup); } } } // Mapping cushion color test report if (dtoItem.CushionColorTestReports != null) { foreach (var item in dbItem.CushionColorTestReport.ToArray()) { if (!dtoItem.CushionColorTestReports.Select(s => s.CushionColorTestReportID).Contains(item.CushionColorTestReportID)) { dbItem.CushionColorTestReport.Remove(item); } } Module.Framework.DAL.DataFactory fwFactory = new Module.Framework.DAL.DataFactory(); // Mapping cushion color test report rows foreach (DTO.CushionColorMng.CushionColorTestReport dtoCushionColorTestReport in dtoItem.CushionColorTestReports) { CushionColorTestReport dbCushionColorTestReport; if (dtoCushionColorTestReport.CushionColorTestReportID <= 0) { dbCushionColorTestReport = new CushionColorTestReport(); dbItem.CushionColorTestReport.Add(dbCushionColorTestReport); } else { dbCushionColorTestReport = dbItem.CushionColorTestReport.FirstOrDefault(o => o.CushionColorTestReportID == dtoCushionColorTestReport.CushionColorTestReportID); } if (dbCushionColorTestReport != null) { Mapper.Map <DTO.CushionColorMng.CushionColorTestReport, CushionColorTestReport>(dtoCushionColorTestReport, dbCushionColorTestReport); if (dtoCushionColorTestReport.File_HasChange.HasValue && dtoCushionColorTestReport.File_HasChange.Value) { dbCushionColorTestReport.FileUD = fwFactory.CreateNoneImageFilePointer(tempFolder, dtoCushionColorTestReport.File_NewFile, dtoCushionColorTestReport.FileUD); } } } } }