예제 #1
0
        public void VehicleScheduleHoldEdit(VehicleScheduleViewModel model)
        {
            string UserId = BHIP.Model.Helper.Security.GetLoggedInUserID();

            VehicleScheduleHold vehicle = new VehicleScheduleHold
            {
                City              = model.City,
                DateAdded         = model.DateAdded,
                DateDeleted       = model.DateDeleted,
                EditType          = "Edit",
                MakeModel         = model.MakeModel,
                MemberCoverageID  = model.MemberCoverageID,
                Notes             = model.Notes,
                OwnLeaseID        = model.OwnLeaseID,
                StateID           = model.StateID,
                VehicleScheduleID = model.VehicleScheduleID,
                VIN              = model.VIN,
                Year             = model.Year,
                Zipcode          = model.Zipcode,
                COI              = model.COI,
                UserID           = UserId,
                ScheduleStatusID = 2 // pending status
            };

            ContextPerRequest.CurrentData.VehicleScheduleHolds.Add(vehicle);
            ContextPerRequest.CurrentData.SaveChanges();
        }
예제 #2
0
        public void VehicleScheduleDelete(VehicleDeleteViewModel model)
        {
            string UserId = BHIP.Model.Helper.Security.GetLoggedInUserID();

            var query = (from vehicle in ContextPerRequest.CurrentData.VehicleSchedules
                         where vehicle.VehicleScheduleID == model.VehicleScheduleID
                         select vehicle).FirstOrDefault();

            if (query != null)
            {
                VehicleScheduleHold veh = new VehicleScheduleHold
                {
                    City              = query.City,
                    DateAdded         = query.DateAdded,
                    DateDeleted       = model.DateDeleted,
                    MakeModel         = query.MakeModel,
                    Notes             = query.Notes,
                    OwnLeaseID        = query.OwnLeaseID,
                    StateID           = query.StateID,
                    VehicleScheduleID = query.VehicleScheduleID,
                    VIN              = query.VIN,
                    Year             = query.Year,
                    Zipcode          = query.Zipcode,
                    MemberCoverageID = query.MemberCoverageID,
                    EditType         = "Delete",
                    UserID           = UserId,
                    ScheduleStatusID = 2 // pending status
                };

                ContextPerRequest.CurrentData.VehicleScheduleHolds.Add(veh);
                ContextPerRequest.CurrentData.SaveChanges();
            }
        }
예제 #3
0
        public void TransferScheduleRecords(VehicleScheduleHold model)
        {
            if (model.EditType == "Edit")
            {
                var query = (from veh in ContextPerRequest.CurrentData.VehicleSchedules
                             where veh.VehicleScheduleID == model.VehicleScheduleID
                             select veh).FirstOrDefault();

                if (query != null)
                {
                    query.City             = model.City;
                    query.DateAdded        = model.DateAdded;
                    query.DateDeleted      = model.DateDeleted;
                    query.MakeModel        = model.MakeModel;
                    query.MemberCoverageID = model.MemberCoverageID;
                    query.Notes            = model.Notes;
                    query.OwnLeaseID       = model.OwnLeaseID;
                    query.StateID          = model.StateID;
                    query.VehicleValue     = model.VehicleValue;
                    query.VIN     = model.VIN;
                    query.Year    = model.Year;
                    query.Zipcode = model.Zipcode;

                    ContextPerRequest.CurrentData.SaveChanges();
                }
            }
            else if (model.EditType == "Add")
            {
                VehicleSchedule vehicle = new VehicleSchedule
                {
                    City             = model.City,
                    DateAdded        = model.DateAdded,
                    MakeModel        = model.MakeModel,
                    MemberCoverageID = model.MemberCoverageID,
                    Notes            = model.Notes,
                    OwnLeaseID       = model.OwnLeaseID,
                    StateID          = model.StateID,
                    VIN     = model.VIN,
                    Year    = model.Year,
                    Zipcode = model.Zipcode
                };

                ContextPerRequest.CurrentData.VehicleSchedules.Add(vehicle);
                ContextPerRequest.CurrentData.SaveChanges();
            }
            else if (model.EditType == "Delete")
            {
                var deleteQuery = (from veh in ContextPerRequest.CurrentData.VehicleSchedules
                                   where veh.VehicleScheduleID == model.VehicleScheduleID
                                   select veh).FirstOrDefault();
                if (deleteQuery != null)
                {
                    deleteQuery.DateDeleted = model.DateDeleted;
                    ContextPerRequest.CurrentData.SaveChanges();
                }
            }
        }
예제 #4
0
        public EmailVehicles VehiclePendingApprove(string scheduleIds)
        {
            EmailVehicles emailModel = new EmailVehicles();

            emailModel.VehicleCOIList    = new List <SendingVehicleInfo>();
            emailModel.VehicleAddList    = new List <SendingVehicleInfo>();
            emailModel.VehicleDeleteList = new List <SendingVehicleInfo>();
            emailModel.VehicleEditList   = new List <SendingVehicleInfo>();

            List <string> listScheduleID = new List <string>();

            listScheduleID = scheduleIds.Split(',').ToList();

            foreach (var item in listScheduleID)
            {
                int scheduleHoldID = Convert.ToInt32(item.ToString());

                var query = (from vehicle in ContextPerRequest.CurrentData.VehicleScheduleHolds
                             join state in ContextPerRequest.CurrentData.States on vehicle.StateID equals state.StateId
                             join own in ContextPerRequest.CurrentData.OwnLeases on vehicle.OwnLeaseID equals own.OwnLeaseID
                             where vehicle.VehicleScheduleHoldID == scheduleHoldID
                             select new VehicleScheduleHoldViewModel
                {
                    City = vehicle.City,
                    DateAdded = vehicle.DateAdded,
                    DateDeleted = vehicle.DateDeleted,
                    EditType = vehicle.EditType,
                    MakeModel = vehicle.MakeModel,
                    MemberCoverageID = vehicle.MemberCoverageID,
                    Notes = vehicle.Notes,
                    OwnLeaseDescription = own.Description,
                    StateName = state.Name,
                    VehicleScheduleHoldID = vehicle.VehicleScheduleHoldID,
                    VehicleScheduleID = vehicle.VehicleScheduleID,
                    VIN = vehicle.VIN,
                    Year = vehicle.Year ?? 0,
                    Zipcode = vehicle.Zipcode,
                    COI = vehicle.COI,
                    OwnLeaseID = vehicle.OwnLeaseID ?? 0,
                    ScheduleStatusID = vehicle.ScheduleStatusID,
                    StateID = vehicle.StateID ?? 0
                }).FirstOrDefault();

                var queryUpdate = (from veh in ContextPerRequest.CurrentData.VehicleScheduleHolds
                                   where veh.VehicleScheduleHoldID == scheduleHoldID
                                   select veh).FirstOrDefault <VehicleScheduleHold>();

                if (query != null && queryUpdate != null)
                {
                    int statusId = query.ScheduleStatusID;

                    if (statusId == 2 && query.COI == true) // pending and COI is checked.
                    {
                        SendingVehicleInfo coiModel = new SendingVehicleInfo();
                        coiModel.MakeModel = query.MakeModel;
                        coiModel.VIN       = query.VIN;
                        coiModel.Year      = query.Year ?? 0;
                        coiModel.DateAdded = (query.DateAdded.HasValue == true ? Convert.ToDateTime(query.DateAdded).ToShortDateString() : string.Empty);
                        coiModel.City      = query.City;
                        coiModel.State     = query.StateName;
                        coiModel.Zip       = query.Zipcode;
                        emailModel.VehicleCOIList.Add(coiModel);

                        queryUpdate.ScheduleStatusID = 3;
                        ContextPerRequest.CurrentData.SaveChanges();
                    }

                    if (statusId == 3)
                    {
                        queryUpdate.ScheduleStatusID = 5;
                        ContextPerRequest.CurrentData.SaveChanges();
                    }
                    else if (statusId == 2)   // pending and no COI
                    {
                        if (query.EditType == "Add")
                        {
                            SendingVehicleInfo addModel = new SendingVehicleInfo();
                            addModel.MakeModel = query.MakeModel;
                            addModel.VIN       = query.VIN;
                            addModel.Year      = query.Year ?? 0;
                            addModel.DateAdded = (query.DateAdded.HasValue == true ? Convert.ToDateTime(query.DateAdded).ToShortDateString() : string.Empty);
                            addModel.City      = query.City;
                            addModel.State     = query.StateName;
                            addModel.Zip       = query.Zipcode;
                            addModel.OwnLease  = query.OwnLeaseDescription;
                            emailModel.VehicleAddList.Add(addModel);
                            ContextPerRequest.CurrentData.SaveChanges();
                        }
                        else if (query.EditType == "Edit" && query.COI)
                        {
                            SendingVehicleInfo editModel = new SendingVehicleInfo();
                            editModel.MakeModel = query.MakeModel;
                            editModel.VIN       = query.VIN;
                            editModel.Year      = query.Year ?? 0;
                            editModel.DateAdded = (query.DateAdded.HasValue == true ? Convert.ToDateTime(query.DateAdded).ToShortDateString() : string.Empty);
                            editModel.City      = query.City;
                            editModel.State     = query.StateName;
                            editModel.Zip       = query.Zipcode;
                            editModel.OwnLease  = query.OwnLeaseDescription;
                            emailModel.VehicleEditList.Add(editModel);
                            ContextPerRequest.CurrentData.SaveChanges();
                        }
                        else if (query.EditType == "Delete")
                        {
                            SendingVehicleInfo deleteModel = new SendingVehicleInfo();
                            deleteModel.MakeModel   = query.MakeModel;
                            deleteModel.VIN         = query.VIN;
                            deleteModel.Year        = query.Year ?? 0;
                            deleteModel.DateAdded   = (query.DateAdded.HasValue == true ? Convert.ToDateTime(query.DateAdded).ToShortDateString() : string.Empty);
                            deleteModel.DateRemoved = (query.DateDeleted.HasValue == true ? Convert.ToDateTime(query.DateDeleted).ToShortDateString() : string.Empty);
                            deleteModel.City        = query.City;
                            deleteModel.State       = query.StateName;
                            deleteModel.Zip         = query.Zipcode;
                            emailModel.VehicleDeleteList.Add(deleteModel);
                            ContextPerRequest.CurrentData.SaveChanges();
                        }

                        VehicleScheduleHold model = new VehicleScheduleHold
                        {
                            City                  = query.City,
                            COI                   = query.COI,
                            DateAdded             = query.DateAdded,
                            DateDeleted           = query.DateDeleted,
                            EditType              = query.EditType,
                            MakeModel             = query.MakeModel,
                            MemberCoverageID      = query.MemberCoverageID,
                            Notes                 = query.Notes,
                            OwnLeaseID            = query.OwnLeaseID,
                            ScheduleStatusID      = query.ScheduleStatusID,
                            StateID               = query.StateID,
                            VehicleScheduleID     = query.VehicleScheduleID,
                            VehicleScheduleHoldID = query.VehicleScheduleHoldID,
                            VehicleValue          = 0,
                            VIN                   = query.VIN,
                            Year                  = query.Year,
                            Zipcode               = query.Zipcode
                        };

                        // need to transfer records.
                        TransferScheduleRecords(model);

                        if (queryUpdate.ScheduleStatusID != 3)
                        {
                            queryUpdate.ScheduleStatusID = 5;
                        }
                        ContextPerRequest.CurrentData.SaveChanges();
                    }
                }
            }

            return(emailModel);
        }