예제 #1
0
 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
         });
     }
 }
예제 #2
0
파일: NLSService.cs 프로젝트: yuliushr/Pear
 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
         });
     }
 }