Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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");
        }