public IHttpActionResult Update(int id, DTO.BookingMng.Booking 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.BookingMng.Booking>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.BookingMng.Booking>() { Data = dtoItem, Message = notification })); } // continue processing BLL.BookingMng bll = new BLL.BookingMng(Helper.AuthHelper.GetCurrentUserFolder(ControllerContext)); bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.BookingMng.Booking>() { Data = dtoItem, Message = notification })); }
public void DTO2DB(DTO.BookingMng.Booking dtoItem, ref Booking dbItem) { // map parent AutoMapper.Mapper.Map <DTO.BookingMng.Booking, Booking>(dtoItem, dbItem); dbItem.BookingDate = dtoItem.BookingDate.ConvertStringToDateTime(); dbItem.ConfirmedDate = dtoItem.ConfirmedDate.ConvertStringToDateTime(); dbItem.ETD = dtoItem.ETD.ConvertStringToDateTime(); if (!dbItem.IsETAConfirmed.HasValue || dbItem.IsETAConfirmed == false) { dbItem.ETA = dtoItem.ETA.ConvertStringToDateTime(); } if (!dbItem.IsETA2Confirmed.HasValue || dbItem.IsETA2Confirmed == false) { dbItem.ETA2 = dtoItem.ETA2.ConvertStringToDateTime(); } dbItem.ShipedDate = dtoItem.ShipedDate.ConvertStringToDateTime(); dbItem.CutOffDate = dtoItem.CutOffDate.ConvertStringToDateTime(); dbItem.CreatedDate = dtoItem.CreatedDate.ConvertStringToDateTime(); dbItem.UpdatedDate = dtoItem.UpdatedDate.ConvertStringToDateTime(); // map child //if (dtoItem.Details != null && dtoItem.Details.Count > 0) //{ // // delete case // foreach (BookingDetail dbDetailToBeDeleted in dbItem.BookingDetail.ToArray()) // { // if (!dtoItem.Details.Select(o => o.BookingDetailID).Contains(dbDetailToBeDeleted.BookingDetailID)) // { // dbItem.BookingDetail.Remove(dbDetailToBeDeleted); // } // } // // create + update // foreach (DTO.BookingMng.BookingDetail dtoDetail in dtoItem.Details) // { // BookingDetail dbDetail; // if (dtoDetail.BookingDetailID <= 0) // { // dbDetail = new BookingDetail(); // dbDetail.Booking = dbItem; // dbItem.BookingDetail.Add(dbDetail); // } // else // { // dbDetail = dbItem.BookingDetail.FirstOrDefault(o => o.BookingDetailID == dtoDetail.BookingDetailID); // } // if (dbDetail != null) // { // AutoMapper.Mapper.Map<DTO.BookingMng.BookingDetail, BookingDetail>(dtoDetail, dbDetail); // } // } //} }