public SaveNLSResponse SaveNLS(SaveNLSRequest request) { try { if (request.Id == 0) { var nls = request.MapTo<NextLoadingSchedule>(); var vesselSchedule = new VesselSchedule { Id = request.VesselScheduleId }; DataContext.VesselSchedules.Attach(vesselSchedule); nls.VesselSchedule = vesselSchedule; DataContext.NextLoadingSchedules.Add(nls); } else { var nls = DataContext.NextLoadingSchedules.FirstOrDefault(x => x.Id == request.Id); if (nls != null) { request.MapPropertiesToInstance<NextLoadingSchedule>(nls); var vesselSchedule = new VesselSchedule { Id = request.VesselScheduleId }; DataContext.VesselSchedules.Attach(vesselSchedule); nls.VesselSchedule = vesselSchedule; } } DataContext.SaveChanges(); return new SaveNLSResponse { IsSuccess = true, Message = "Next Loading Schedule has been saved" }; } catch (InvalidOperationException e) { return new SaveNLSResponse { IsSuccess = false, Message = e.Message }; } }
public SaveNLSResponse SaveNLS(SaveNLSRequest request) { try { if (request.Id == 0) { var nls = request.MapTo<NextLoadingSchedule>(); var vesselSchedule = new VesselSchedule { Id = request.VesselScheduleId }; DataContext.VesselSchedules.Attach(vesselSchedule); nls.VesselSchedule = vesselSchedule; DataContext.NextLoadingSchedules.Add(nls); } else { var nls = DataContext.NextLoadingSchedules.FirstOrDefault(x => x.Id == request.Id); if (nls != null) { request.MapPropertiesToInstance<NextLoadingSchedule>(nls); var vesselSchedule = new VesselSchedule { Id = request.VesselScheduleId }; DataContext.VesselSchedules.Attach(vesselSchedule); nls.VesselSchedule = vesselSchedule; } } DataContext.SaveChanges(); var response = new SaveNLSResponse { IsSuccess = true, Message = "Next Loading Schedule has been saved" }; if (request.DerTransactionDate.HasValue) { var nls = DataContext.NextLoadingSchedules.Where(x => x.VesselSchedule.Id == request.VesselScheduleId && x.CreatedAt <= request.DerTransactionDate) .OrderByDescending(x => x.CreatedAt).FirstOrDefault(); if (nls != null) { response.RemarkDate = nls.CreatedAt.ToString("dd-MM-yyyy"); response.Remark = nls.Remark; } } return response; } catch (InvalidOperationException e) { return new SaveNLSResponse { IsSuccess = false, Message = e.Message }; } }