internal void AddRemarkToPeriodEntry(int periodEntryId, string userId, string remarkText , int remarkId, DateTime expectedResolution, bool autoSubmit = true) { var remark = new VehicleNonRevPeriodEntryRemark { ExpectedResolutionDate = expectedResolution, VehicleNonRevPeriodEntryId = periodEntryId, Remark = remarkText, UserId = userId, RemarkId = remarkId, TimeStamp = DateTime.Now, }; DataContext.VehicleNonRevPeriodEntryRemarks.InsertOnSubmit(remark); if (autoSubmit) { DataContext.SubmitChanges(); } }
public string UploadRows(List <UploadRow> dataToUpload, string userId) { var reasons = (from nrv in DataContext.NonRev_Remarks_Lists select new { nrv.RemarkId, nrv.RemarkText }) .ToDictionary(item => item.RemarkText, item => item.RemarkId); var nonRevVehicles = (from nrv in DataContext.Vehicles where nrv.IsNonRev && nrv.IsFleet && nrv.Vin != string.Empty group nrv by nrv.Vin + nrv.OwningCountry into groupedData select new { VehicleId = groupedData.Min(d => d.VehicleId), Identifier = groupedData.Key } ).ToDictionary(item => item.Identifier, item => item.VehicleId); var vechicleAndActivePeriods = (from pe in DataContext.VehicleNonRevPeriods where pe.Active select new { pe.VehicleId, LatestPeriod = pe.VehicleNonRevPeriodEntries.Max(d => d.VehicleNonRevPeriodEntryId) }).ToDictionary(t => t.VehicleId, t => t.LatestPeriod); var remarksToBeInserted = new List <VehicleNonRevPeriodEntryRemark>(); foreach (var d in dataToUpload) { try { d.VehicleId = nonRevVehicles[d.Vin + d.OwningCountry]; d.ReasonId = reasons[d.ReasonName]; //var periodEntryId = (from pe in DataContext.VehicleNonRevPeriodEntries // where pe.VehicleNonRevPeriod.Active // && pe.VehicleNonRevPeriod.Vehicle.VehicleId == d.VehicleId // select pe.VehicleNonRevPeriodEntryId).FirstOrDefault(); var periodEntryId = vechicleAndActivePeriods[d.VehicleId]; if (periodEntryId == 0) { continue; } var remark = new VehicleNonRevPeriodEntryRemark { VehicleNonRevPeriodEntryId = periodEntryId, RemarkId = d.ReasonId, ExpectedResolutionDate = d.ParsedEstimatedResolved, Remark = d.RemarkText, TimeStamp = DateTime.Now, UserId = userId }; remarksToBeInserted.Add(remark); } catch (Exception e) { continue; } } DataContext.VehicleNonRevPeriodEntryRemarks.InsertAllOnSubmit(remarksToBeInserted); DataContext.SubmitChanges(); return("Upload Successful"); }