// GET: eFleetVehicle
        public ActionResult Index()
        {
            try
            {
                //Added by Ashwajit Bansod dated 08/23/2017 creating as session for eFleet Vehicle Registration
                eTracLoginModel ObjLoginModel = null;
                if (Session != null)
                {
                    if (Session["eTrac"] != null)
                    {
                        ObjLoginModel = (eTracLoginModel)(Session["eTrac"]);
                        if (Convert.ToInt64(Session["eTrac_SelectedDasboardLocationID"]) == 0)
                        {
                            (Session["eTrac_SelectedDasboardLocationID"]) = ObjLoginModel.LocationID;
                        }
                    }
                }
                eFleetVehicleModel objeFleetVehicleModel = new eFleetVehicleModel();
                // ViewBag.FuelType = _IEfleetVehicle.GetAllFuelType();

                return(View("RegisterVehicle", objeFleetVehicleModel));
            }
            catch (Exception ex)
            {
                ViewBag.Message           = ex.Message;
                ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger;
            }
            finally
            {
                ViewBag.FuelType = _IEfleetVehicle.GetAllFuelType();
                ViewBag.GVWR     = _ICommonMethod.GetGlobalCodeDataList("eFleetGVWR");//Added by Bhushan Dod for change in GVWR ddl
            }
            return(View());
        }
 /// <summary>
 /// created By Ashwait Bansod which Showing the List in JQGrid Form
 /// </summary>
 /// <param name="objeFleetVehicleList"></param>
 /// <returns></returns>
 ///
 public ActionResult ListVehicle(eFleetVehicleModel objeFleetVehicleList)
 {
     try
     {
         //Added by Ashwajit Bansod on 08/12/2017 for scenario as if view all Vehicle List is enabled.
         // click on list we have to set Session["eTrac_SelectedDasboardLocationID"] is objeTracLoginModel.LocationID.
         eTracLoginModel ObjLoginModel = null;
         if (Session != null)
         {
             if (Session["eTrac"] != null)
             {
                 ObjLoginModel = (eTracLoginModel)(Session["eTrac"]);
                 if (Convert.ToInt64(Session["eTrac_SelectedDasboardLocationID"]) == 0)
                 {
                     (Session["eTrac_SelectedDasboardLocationID"]) = ObjLoginModel.LocationID;
                 }
             }
         }
         var vehicleList = _IEfleetVehicle.GetAllVehicleList(objeFleetVehicleList);
         return(View("VehicleList", vehicleList));
     }
     catch (Exception ex)
     {
         ViewBag.Message           = ex.Message;
         ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger;
     }
     return(View());
 }
        /// <summary>
        /// Created By Ashwajit Bansod for Getting all details according to vehicle ID
        /// date: 08/12/2017
        /// </summary>
        /// <param name="vehicleId"></param>
        /// <returns></returns>
        public eFleetVehicleModel GetVehicleDetailsById(long vehicleId)
        {
            try
            {
                eFleetVehicleModel objeFleetVehicleModel = _workorderEMSEntities.eFleetVehicles.Where(g => g.VehicleID == vehicleId && g.IsDeleted == false).OrderBy(code => code.VehicleID).Select(s => new eFleetVehicleModel()
                {
                    VehicleIdentificationNo = s.VehicleIdentificationNo,
                    VehicleID                = s.VehicleID,
                    Make                     = s.Make,
                    Model                    = s.Model,
                    Year                     = s.Year,
                    ExpirationDate           = s.ExpirationDate,
                    AttachmentOfInsurance    = s.AttachmentOfInsurance,
                    AttachmentOfRegistration = s.AttachmentOfRegistration,
                    VehicleImage             = s.VehicleImage,
                    GVWR                     = s.GVWR,
                    StorageAddress           = s.StorageAddress,
                    DummyField               = s.DummyField
                }).SingleOrDefault();

                return(objeFleetVehicleModel);
            }
            catch (Exception)
            { throw; }
        }
        public JsonResult GetListVehicle(string _search, long?UserId, long?locationId, int?rows = 20, int?page = 1, int?TotalRecords = 10, string sord = null, string txtSearch = null, string sidx = null, string UserType = null)
        {
            eTracLoginModel ObjLoginModel = null;

            if (Session["eTrac"] != null)
            {
                ObjLoginModel = (eTracLoginModel)(Session["eTrac"]);
                if (locationId == null)
                {
                    locationId = ObjLoginModel.LocationID;
                }
                UserId = ObjLoginModel.UserId;
            }
            eFleetVehicleModel objeFleetVehicleModel = new eFleetVehicleModel();
            JQGridResults      result = new JQGridResults();
            List <JQGridRow>   rowss  = new List <JQGridRow>();

            sord      = string.IsNullOrEmpty(sord) ? "desc" : sord;
            sidx      = string.IsNullOrEmpty(sidx) ? "UserEmail" : sidx;
            txtSearch = string.IsNullOrEmpty(txtSearch) ? "" : txtSearch;
            try
            {
                var eFleetVehicleList = _IEfleetVehicle.GetListVehicleDetails(UserId, rows, TotalRecords, sidx, sord, locationId, txtSearch, UserType);
                foreach (var vehicleList in eFleetVehicleList.rows)
                {
                    if (vehicleList.IsDeleted == false)
                    {
                        JQGridRow row = new JQGridRow();
                        row.id       = Cryptography.GetEncryptedData(Convert.ToString(vehicleList.VehicleID), true);
                        row.cell     = new string[11];
                        row.cell[0]  = vehicleList.QRCodeID;
                        row.cell[1]  = vehicleList.VehicleIdentificationNo;
                        row.cell[2]  = vehicleList.VehicleNumber;
                        row.cell[3]  = vehicleList.Make;
                        row.cell[4]  = vehicleList.Model;
                        row.cell[5]  = vehicleList.ListFuelType;
                        row.cell[6]  = (vehicleList.VehicleImage == "" || vehicleList.VehicleImage == null) ? "" : HostingPrefix + VehicleImagePath.Replace("~", "") + vehicleList.VehicleImage;
                        row.cell[7]  = vehicleList.GVWR;
                        row.cell[8]  = vehicleList.Year;
                        row.cell[9]  = vehicleList.StorageAddress;
                        row.cell[10] = vehicleList.DummyField;
                        rowss.Add(row);
                    }
                }
                result.rows    = rowss.ToArray();
                result.page    = Convert.ToInt32(page);
                result.total   = (int)Math.Ceiling((decimal)Convert.ToInt32(TotalRecords.Value) / rows.Value);
                result.records = Convert.ToInt32(TotalRecords.Value);
            }
            catch (Exception ex)
            { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #5
0
        public JsonResult GetListeFleetPM(string _search, long?UserId, long?locationId, int?rows = 20, int?page = 1, int?TotalRecords = 10, string sord = null, string txtSearch = null, string sidx = null, string UserType = null)
        {
            eTracLoginModel ObjLoginModel = null;

            if (Session["eTrac"] != null)
            {
                ObjLoginModel = (eTracLoginModel)(Session["eTrac"]);
                if (locationId == null)
                {
                    locationId = ObjLoginModel.LocationID;
                }
                UserId = ObjLoginModel.UserId;
            }
            eFleetVehicleModel objeFleetVehicleModel = new eFleetVehicleModel();
            JQGridResults      result = new JQGridResults();
            List <JQGridRow>   rowss  = new List <JQGridRow>();

            sord      = string.IsNullOrEmpty(sord) ? "desc" : sord;
            sidx      = string.IsNullOrEmpty(sidx) ? "UserEmail" : sidx;
            txtSearch = string.IsNullOrEmpty(txtSearch) ? "" : txtSearch;
            try
            {
                var eFleetPMList = _IEfleetPM.GetListeFleetPMDetails(UserId, rows, TotalRecords, sidx, sord, locationId, txtSearch, UserType);
                foreach (var efleetpmList in eFleetPMList.rows)
                {
                    if (efleetpmList.IsDeleted == false)
                    {
                        JQGridRow row = new JQGridRow();
                        row.id      = Cryptography.GetEncryptedData(Convert.ToString(efleetpmList.PmID), true);
                        row.cell    = new string[9];
                        row.cell[0] = efleetpmList.QRCodeID;
                        row.cell[1] = efleetpmList.VehicleNumber;
                        row.cell[2] = efleetpmList.ListMeter;
                        row.cell[3] = (efleetpmList.ListMeter == "Hours" || efleetpmList.ListMeter == "Annual") ? (efleetpmList.ListMeter == "Hours") ? efleetpmList.HoursValue.ToString() : "N/A" : efleetpmList.ListReminderMetric;
                        row.cell[4] = (efleetpmList.PMCategoryList != null) ? efleetpmList.PMCategoryList : null;
                        row.cell[5] = efleetpmList.ServiceDueDate.Value.ToString("dd/MM/yyyy");
                        row.cell[6] = efleetpmList.ReminderMetricDesc;
                        row.cell[7] = (efleetpmList.ListReminderMetric == "Other") ? efleetpmList.OtherMilesComment.ToString() : "N/A";
                        row.cell[8] = efleetpmList.PmID.ToString();
                        // Vehicle Image will be use in Future if Image is Required for PM
                        // row.cell[5] = (vehicleList.VehicleImage == "" || vehicleList.VehicleImage == null) ? "" : HostingPrefix + ProfileImagePath.Replace("~", "") + vehicleList.VehicleImage;
                        rowss.Add(row);
                    }
                }
                result.rows    = rowss.ToArray();
                result.page    = Convert.ToInt32(page);
                result.total   = (int)Math.Ceiling((decimal)Convert.ToInt32(TotalRecords.Value) / rows.Value);
                result.records = Convert.ToInt32(TotalRecords.Value);
            }
            catch (Exception ex)
            { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Index(eFleetVehicleModel objeFleetVehicleModel)
        {
            var objeTracLoginModel = new eTracLoginModel();
            //eTracLoginModel objeTracLoginModel = (eTracLoginModel)(Session["eTrac"]);
            DARModel objDAR;
            bool     isUpdate = false;

            if (Session != null)
            {
                if (Session["eTrac"] != null)
                {
                    objeTracLoginModel = (eTracLoginModel)(Session["eTrac"]);
                    if (Convert.ToInt64(Session["eTrac_SelectedDasboardLocationID"]) == 0)
                    {
                        (Session["eTrac_SelectedDasboardLocationID"]) = objeTracLoginModel.LocationID;
                    }
                }
            }
            try
            {
                if (objeFleetVehicleModel.VehicleID == 0)
                {
                    objeFleetVehicleModel.CreatedBy   = objeTracLoginModel.UserId;
                    objeFleetVehicleModel.CreatedDate = DateTime.UtcNow;
                    objeFleetVehicleModel.IsDeleted   = false;
                    if (objeTracLoginModel.LocationCode != null)
                    {
                        var str = objeTracLoginModel.LocationCode.Substring(0, 3);
                        objeFleetVehicleModel.QRCodeID = str;
                    }
                    objeFleetVehicleModel.LocationID = objeTracLoginModel.LocationID;
                    if (objeFleetVehicleModel.AttachmentOfInsuranceFile != null)
                    {
                        string ImageName = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.AttachmentOfInsuranceFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.AttachmentOfInsuranceFile, Server.MapPath(ConfigurationManager.AppSettings["AttachmentOfInsurance"]), ImageName);
                        objeFleetVehicleModel.AttachmentOfInsurance = ImageName;
                    }
                    if (objeFleetVehicleModel.AttachmentOfRegistrationFile != null)
                    {
                        string ImageNameRegister = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.AttachmentOfRegistrationFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.AttachmentOfRegistrationFile, Server.MapPath(ConfigurationManager.AppSettings["AttachmentOfRegistration"]), ImageNameRegister);
                        objeFleetVehicleModel.AttachmentOfRegistration = ImageNameRegister;
                    }
                    if (objeFleetVehicleModel.VehicleImageFile != null)
                    {
                        string ImageNameVehicle = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.VehicleImageFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.VehicleImageFile, Server.MapPath(ConfigurationManager.AppSettings["VehicleImage"]), ImageNameVehicle);
                        objeFleetVehicleModel.VehicleImage = ImageNameVehicle;
                    }

                    objeFleetVehicleModel.LocationName = objeTracLoginModel.Location;
                    var returnModel = _IEfleetVehicle.SaveEfleetVehicle(objeFleetVehicleModel);

                    //Below code for details of vehicle after save Modal show brief view of vehicle.
                    // ViewBag.QRCodeID = returnModel.QRCodeID;
                    returnModel.EncryptLastQRC = returnModel.QRCodeID;
                    ViewBag.LastEncryptQRC     = returnModel.EncryptLastQRC;
                    ViewBag.Make  = returnModel.Make;
                    ViewBag.Model = returnModel.Model;
                    ViewBag.VehicleIdentificationNo = returnModel.VehicleIdentificationNo;
                    ViewBag.VehicleNumber           = returnModel.VehicleNumber;
                    ViewBag.Year             = returnModel.Year;
                    ViewBag.FuelTypeForModel = (returnModel.FuelType == Convert.ToInt32(eFleetEnum.Gasoline)) ? Convert.ToString(eFleetEnum.Gasoline) : Convert.ToString(eFleetEnum.DieselFuel);
                    ViewBag.VehicleImage     = (objeFleetVehicleModel.VehicleImage == null) ? HostingPrefix + "/Content/Images/ProjectLogo/no-profile-pic.jpg" : HostingPrefix + (ConfigurationManager.AppSettings["VehicleImage"]).Replace("~", "") + objeFleetVehicleModel.VehicleImage;
                    ViewBag.LocationName     = objeTracLoginModel.Location;
                    if (objeFleetVehicleModel.Result == Result.Completed)
                    {
                        ModelState.Clear();
                        //FlashMessage.Confirmation(CommonMessage.WorkOrderSaveSuccessMessage());
                        ViewBag.Message           = CommonMessage.eFleetVehicleSaveSuccessMessage();
                        ViewBag.AlertMessageClass = ObjAlertMessageClass.Success;
                    }
                    //objDAR.ActivityDetails = DarMessage.RegisterNewVehicle(objeTracLoginModel.LocationNames);
                    //objDAR.TaskType = (long)TaskTypeCategory.VehicleRegistration;
                }
                //for updating data
                else
                {
                    isUpdate = true;
                    objeFleetVehicleModel.ModifiedBy   = objeTracLoginModel.UserId;
                    objeFleetVehicleModel.ModifiedDate = DateTime.UtcNow;
                    objeFleetVehicleModel.LocationID   = objeTracLoginModel.LocationID;
                    if (objeFleetVehicleModel.AttachmentOfInsuranceFile != null)
                    {
                        string ImageName = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.AttachmentOfInsuranceFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.AttachmentOfInsuranceFile, Server.MapPath(ConfigurationManager.AppSettings["AttachmentOfInsurance"]), ImageName);
                        objeFleetVehicleModel.AttachmentOfInsurance = ImageName;
                    }
                    if (objeFleetVehicleModel.AttachmentOfRegistrationFile != null)
                    {
                        string ImageNameRegister = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.AttachmentOfRegistrationFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.AttachmentOfRegistrationFile, Server.MapPath(ConfigurationManager.AppSettings["AttachmentOfRegistration"]), ImageNameRegister);
                        objeFleetVehicleModel.AttachmentOfRegistration = ImageNameRegister;
                    }
                    if (objeFleetVehicleModel.VehicleImageFile != null)
                    {
                        string ImageNameVehicle = objeTracLoginModel.UserId + "_" + DateTime.Now.Ticks.ToString() + "_" + Convert.ToString(objeFleetVehicleModel.VehicleImageFile.FileName);
                        CommonHelper.StaticUploadImage(objeFleetVehicleModel.VehicleImageFile, Server.MapPath(ConfigurationManager.AppSettings["VehicleImage"]), ImageNameVehicle);
                        objeFleetVehicleModel.VehicleImage = ImageNameVehicle;
                    }
                    objeFleetVehicleModel.LocationName = objeTracLoginModel.Location;
                    var returnModel = _IEfleetVehicle.SaveEfleetVehicle(objeFleetVehicleModel);
                    //Below code for details of vehicle after save Modal show brief view of vehicle.
                    ViewBag.LastEncryptQRC          = returnModel.EncryptLastQRC;
                    ViewBag.Make                    = returnModel.Make;
                    ViewBag.Model                   = returnModel.Model;
                    ViewBag.VehicleIdentificationNo = returnModel.VehicleIdentificationNo;
                    ViewBag.VehicleNumber           = returnModel.VehicleNumber;
                    ViewBag.Year                    = returnModel.Year;
                    ViewBag.FuelTypeForModel        = returnModel.FuelType;
                    ViewBag.VIN                = returnModel.VehicleIdentificationNo;
                    ViewBag.VehicleImage       = (objeFleetVehicleModel.VehicleImage == null) ? HostingPrefix + "/Content/Images/ProjectLogo/no-profile-pic.jpg" : HostingPrefix + (ConfigurationManager.AppSettings["VehicleImage"]).Replace("~", "") + objeFleetVehicleModel.VehicleImage;
                    ViewBag.LocationName       = objeTracLoginModel.Location;
                    returnModel.EncryptLastQRC = returnModel.QRCodeID;
                    ViewBag.LastEncryptQRC     = returnModel.EncryptLastQRC;
                    if (objeFleetVehicleModel.Result == Result.UpdatedSuccessfully)
                    {
                        ModelState.Clear();
                        //FlashMessage.Confirmation(CommonMessage.WorkOrderSaveSuccessMessage());
                        ViewBag.Message           = CommonMessage.eFleetVehicleUpdateSuccessMessage();
                        ViewBag.AlertMessageClass = ObjAlertMessageClass.Success;
                    }
                    //objDAR.ActivityDetails = DarMessage.UpdateVehicle(objeFleetVehicleModel.QRCodeID, objeTracLoginModel.LocationNames);
                    //objDAR.TaskType = (long)TaskTypeCategory.UpdateVehicleRegistration;
                }
            }
            catch (Exception ex)
            {
                ViewBag.Message = ex.Message; ViewBag.AlertMessageClass = ObjAlertMessageClass.Danger;
            }
            finally
            {
                ViewBag.FuelType = _IEfleetVehicle.GetAllFuelType();
                ViewBag.GVWR     = _ICommonMethod.GetGlobalCodeDataList("eFleetGVWR");//Added by Bhushan Dod for change in GVWR ddl
            }
            if (isUpdate = true && objeFleetVehicleModel.VehicleID > 0)
            {
                ModelState.Clear();
                return(View("VehicleList", objeFleetVehicleModel));
            }
            ModelState.Clear();
            eFleetVehicleModel objeFleetVehicle = new eFleetVehicleModel();

            return(View("RegisterVehicle", objeFleetVehicle));
        }
        /// <summary>
        /// Created By Ashwajit Bansod Dated 08/29/2017
        /// Save and edit Preventative maintenance Data
        /// </summary>
        /// <param name="objeFleetPMModel"></param>
        /// <returns></returns>
        public eFleetPMModel SaveEfleetPreventativeMaintenance(eFleetPMModel objeFleetPMModel)
        {
            try
            {
                workorderEMSEntities db = new workorderEMSEntities();
                var objLocationMaster   = new LocationMaster();
                var objeFleetPreventativeMaintenance = new eFleetPreventativeMaintenance();
                var objeFleetVehicleModel            = new eFleetVehicleModel();
                var meterval = Convert.ToInt64(eFleetEnum.Hours);
                var objeFleetPreventativeMaintenanceRepository = new eFleetPreventativeMaintenanceRepository();
                var objeTracLoginModel = new eTracLoginModel();
                if (objeFleetPMModel.ID == 0)
                {
                    AutoMapper.Mapper.CreateMap <eFleetPMModel, eFleetPreventativeMaintenance>();
                    if (objeFleetPMModel.Meter == meterval)
                    {
                        objeFleetPMModel.ReminderMetric = objeFleetPMModel.HoursValue;
                    }
                    var objfleetPMMapper = AutoMapper.Mapper.Map(objeFleetPMModel, objeFleetPreventativeMaintenance);
                    objeFleetPreventativeMaintenanceRepository.Add(objfleetPMMapper);
                    objeFleetPreventativeMaintenanceRepository.SaveChanges();
                    objeFleetPMModel.Result = Result.Completed;
                    if (objeFleetPMModel.Result == Result.Completed)
                    {
                        #region Save DAR
                        DARModel objDAR = new DARModel();
                        objDAR.ActivityDetails = DarMessage.NeweFleetPMCreated(objeFleetPMModel.LocationName);
                        objDAR.LocationId      = objeFleetPMModel.LocationID;
                        objDAR.UserId          = objeFleetPMModel.UserId;
                        objDAR.CreatedBy       = objeFleetPMModel.UserId;
                        objDAR.CreatedOn       = DateTime.UtcNow;
                        objDAR.TaskType        = (long)TaskTypeCategory.PreventativeMaintenanceSubmission;
                        Result result = _ICommonMethod.SaveDAR(objDAR);
                        #endregion Save DAR

                        //Created By Ashwajit Bansod Date: Oct-04-2017 for sending a mail regarding Prevenatative maintenance to the manager
                        #region Email
                        var objEmailLogRepository = new EmailLogRepository();
                        var objEmailReturn        = new List <EmailToManagerModel>();
                        var objListEmailog        = new List <EmailLog>();
                        var objTemplateModel      = new TemplateModel();
                        if (result == Result.Completed)
                        {
                            objEmailReturn = objEmailLogRepository.SendEmailToManagerForeFleetInspection(objeFleetPMModel.LocationID, objeFleetPMModel.UserId).Result;
                        }

                        if (objEmailReturn.Count > 0 && result == Result.Completed)
                        {
                            foreach (var item in objEmailReturn)
                            {
                                bool IsSent         = false;
                                var  objEmailHelper = new EmailHelper();
                                objEmailHelper.emailid     = item.ManagerEmail;
                                objEmailHelper.ManagerName = item.ManagerName;
                                if (objeFleetPMModel.ReminderMetric == null)
                                {
                                    objEmailHelper.RemiderMetric = "N/A";
                                }
                                else
                                {
                                    objEmailHelper.RemiderMetric = (from em in db.eFleetMeters where em.ID == objeFleetPMModel.ReminderMetric select em.MeterValue).FirstOrDefault();
                                }
                                objEmailHelper.Meter          = (from gc in db.GlobalCodes where gc.GlobalCodeId == objeFleetPMModel.Meter select gc.CodeName).FirstOrDefault();
                                objEmailHelper.Category       = (from gc in db.GlobalCodes where gc.GlobalCodeId == objeFleetPMModel.Category select gc.CodeName).FirstOrDefault();;
                                objEmailHelper.VehicleNumber  = objeFleetPMModel.VehicleNumber;
                                objEmailHelper.LocationName   = objeFleetPMModel.LocationName;
                                objEmailHelper.UserName       = item.UserName;
                                objEmailHelper.QrCodeId       = objeFleetPMModel.QRCodeID;
                                objEmailHelper.ServiceDueDate = objeFleetPMModel.ServiceDueDate.ToString();
                                objEmailHelper.PMMetric       = objeFleetPMModel.ReminderMetricDesc;
                                //objEmailHelper.InfractionStatus = obj.Status;
                                objEmailHelper.MailType      = "PreventativeMaintenance";
                                objEmailHelper.SentBy        = item.RequestBy;
                                objEmailHelper.LocationID    = item.LocationID;
                                objEmailHelper.TimeAttempted = DateTime.UtcNow.ToMobileClientTimeZone(objTemplateModel.TimeZoneName, objTemplateModel.TimeZoneOffset, objTemplateModel.IsTimeZoneinDaylight, false).ToString();
                                IsSent = objEmailHelper.SendEmailWithTemplate();
                                //Push Notification
                                string message = PushNotificationMessages.eFleetPreventativeMaintenanceReported(objeFleetPMModel.LocationName, objeFleetPMModel.QRCodeID, objeFleetPMModel.VehicleNumber);
                                PushNotification.GCMAndroid(message, item.DeviceId, objEmailHelper);
                                if (IsSent == true)
                                {
                                    var objEmailog = new EmailLog();
                                    try
                                    {
                                        objEmailog.CreatedBy   = item.RequestBy;
                                        objEmailog.CreatedDate = DateTime.UtcNow;
                                        objEmailog.DeletedBy   = null;
                                        objEmailog.DeletedOn   = null;
                                        objEmailog.LocationId  = item.LocationID;
                                        objEmailog.ModifiedBy  = null;
                                        objEmailog.ModifiedOn  = null;
                                        objEmailog.SentBy      = item.RequestBy;
                                        objEmailog.SentEmail   = item.ManagerEmail;
                                        objEmailog.Subject     = objEmailHelper.Subject;
                                        objEmailog.SentTo      = item.ManagerUserId;
                                        objListEmailog.Add(objEmailog);
                                    }
                                    catch (Exception)
                                    {
                                        throw;
                                    }
                                }
                            }
                            using (var context = new workorderEMSEntities())
                            {
                                context.EmailLogs.AddRange(objListEmailog);
                                context.SaveChanges();;
                            }
                            //    //var x = EmailLogRepository.InsertEntitiesNew("EmailLog", objListEmailog);
                            //    //Task<bool> x = null;
                            //    //foreach (var i in objListEmailog)
                            //    //{
                            //    //    x = objEmailLogRepository.SaveEmailLogAsync(i);
                            //    //}
                            //}
                            #endregion Email
                        }
                    }
                }
                //edit Data
                else
                {
                    var PreventativeData = objeFleetPreventativeMaintenanceRepository.GetAll(v => v.IsDeleted == false && v.ID == objeFleetPMModel.PmID).SingleOrDefault(); //PmID = ID PmID in Ashwajit Table
                                                                                                                                                                            //objeFleetPMModel.DriverImage = DriverData.DriverImage;//== null ? "" : HostingPrefix + ProfilePicPath.Replace("~", "") + DriverData.DriverImage;
                    AutoMapper.Mapper.CreateMap <eFleetPMModel, eFleetPreventativeMaintenance>();
                    if (objeFleetPMModel.Meter == meterval)
                    {
                        objeFleetPMModel.ReminderMetric = objeFleetPMModel.HoursValue;
                    }
                    var objfleetDriverMapper = AutoMapper.Mapper.Map(objeFleetPMModel, PreventativeData);
                    objeFleetPreventativeMaintenanceRepository.SaveChanges();
                    objeFleetPMModel.Result = Result.UpdatedSuccessfully;
                    if (objeFleetPMModel.Result == Result.UpdatedSuccessfully)
                    {
                        #region Save DAR
                        DARModel objDAR = new DARModel();
                        objDAR.ActivityDetails = DarMessage.NeweFleetPMUpdated(objeFleetPMModel.LocationName);
                        objDAR.LocationId      = objeFleetPMModel.LocationID;
                        objDAR.UserId          = objeFleetPMModel.UserId;
                        objDAR.ModifiedBy      = objeFleetPMModel.UserId;
                        objDAR.ModifiedOn      = DateTime.UtcNow;
                        objDAR.TaskType        = (long)TaskTypeCategory.UpdatePreventativeMaintenance;
                        Result result = _ICommonMethod.SaveDAR(objDAR);
                        #endregion Save DAR
                    }
                }

                return(objeFleetPMModel);
            }
            catch (Exception ex)
            {
                Exception_B.Exception_B.exceptionHandel_Runtime(ex, "public eFleetPMModel SaveEfleetPreventativeMaintenance(eFleetPMModel objeFleetPMModel)", "Exception While saving Preventative Maintenence request.", objeFleetPMModel);
                throw;
            }
        }