public ActionResult Edit(VehicleViewModel model)
        {
            SetActiveMenuItem();
            TempData.Keep();
            //Repopulate the dropdown lists of vehicle attributes without asking SQL again
            model.VehicleManufacturerList = (SelectList)TempData["VehicleManufacturerList"];
            model.VehicleModelList        = (SelectList)TempData["VehicleModelList"];
            model.VehicleTransmissionList = (SelectList)TempData["VehicleTransmissionList"];
            model.VehicleGroupList        = (SelectList)TempData["VehicleGroupList"];
            model.VehicleFuelList         = (SelectList)TempData["VehicleFuelList"];


            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                var FullName = Request.Cookies["userInfo"]["FullName"];
                //Now update the record
                var result = VehicleBLL.UpdateVehicle((int)model.VehicleID,
                                                      model.ModelID,
                                                      model.RegistrationNumber,
                                                      model.CurrentMileage,
                                                      model.TransmissionID,
                                                      model.VehicleGroupID,
                                                      model.FuelID,
                                                      FullName);

                //Take our ID with us to the confirmation form
                ViewBag.Id = model.VehicleID;
                //Clear any temp data
                TempData.Clear();
                //Determine the kind of SQL transaction we have performed
                ViewBag.Message = "updated";
                //We can now safely go to the confirmation view
                return(View("AddUpdateConfirm"));
            }
            catch (Exception ex)
            {
                TempData["ErrorMessage"] = ex.Message;
                return(Redirect("~/Admin/Home/Error"));
            }
        }
        /// <summary>
        /// 编辑车辆
        /// </summary>
        /// <param name="userFromCookie"></param>
        /// <param name="context"></param>
        private void EditVehicle(DriveMgr.Model.User userFromCookie, HttpContext context)
        {
            if (userFromCookie != null && new DriveMgr.BLL.Authority().IfAuthority("vehicle", "edit", userFromCookie.Id))
            {
                int id = Convert.ToInt32(context.Request.Params["id"]);
                DriveMgr.Model.VehicleModel vehicleEdit = vehicleBll.GetVehicleModel(id);
                string ui_vehicle_LicencePlateNum_edit  = context.Request.Params["ui_vehicle_LicencePlateNum_edit"] ?? "";
                string ui_vehicle_Owner_edit            = context.Request.Params["ui_vehicle_Owner_edit"] ?? "";
                string ui_vehicle_Brands_edit           = context.Request.Params["ui_vehicle_Brands_edit"] ?? "";
                string ui_vehicle_CarModel_edit         = context.Request.Params["ui_vehicle_CarModel_edit"] ?? "";
                string ui_vehicle_BuyPrice_edit         = context.Request.Params["ui_vehicle_BuyPrice_edit"] ?? "";
                string ui_vehicle_BuyDate_edit          = context.Request.Params["ui_vehicle_BuyDate_edit"] ?? "";
                string ui_vehicle_Remark_edit           = context.Request.Params["ui_vehicle_Remark_edit"] ?? "";
                string ui_vehicle_Status_edit           = context.Request.Params["ui_vehicle_Status_edit"] ?? "";

                vehicleEdit.LicencePlateNum = ui_vehicle_LicencePlateNum_edit.Trim();
                vehicleEdit.Owner           = ui_vehicle_Owner_edit.Trim();
                vehicleEdit.Brands          = ui_vehicle_Brands_edit.Trim();
                vehicleEdit.CarModel        = ui_vehicle_CarModel_edit.Trim();
                if (!string.IsNullOrEmpty(ui_vehicle_BuyPrice_edit.Trim()))
                {
                    vehicleEdit.BuyPrice = decimal.Parse(ui_vehicle_BuyPrice_edit);
                }
                else
                {
                    vehicleEdit.BuyPrice = null;
                }
                if (!string.IsNullOrEmpty(ui_vehicle_BuyDate_edit.Trim()))
                {
                    vehicleEdit.BuyDate = DateTime.Parse(ui_vehicle_BuyDate_edit);
                }
                else
                {
                    vehicleEdit.BuyDate = null;
                }
                vehicleEdit.Remark = ui_vehicle_Remark_edit.Trim();
                vehicleEdit.Status = Int32.Parse(ui_vehicle_Status_edit);

                vehicleEdit.UpdatePerson = userFromCookie.UserId;
                vehicleEdit.UpdateDate   = DateTime.Now;

                if (vehicleBll.UpdateVehicle(vehicleEdit))
                {
                    userOperateLog.OperateInfo = "修改车辆信息";
                    userOperateLog.IfSuccess   = true;
                    userOperateLog.Description = "修改成功,车辆信息主键:" + vehicleEdit.Id;
                    context.Response.Write("{\"msg\":\"修改成功!\",\"success\":true}");
                }
                else
                {
                    userOperateLog.OperateInfo = "修改车辆信息";
                    userOperateLog.IfSuccess   = false;
                    userOperateLog.Description = "修改失败";
                    context.Response.Write("{\"msg\":\"修改失败!\",\"success\":false}");
                }
            }
            else
            {
                userOperateLog.OperateInfo = "修改车辆信息";
                userOperateLog.IfSuccess   = false;
                userOperateLog.Description = "无权限,请联系管理员";
                context.Response.Write("{\"msg\":\"无权限,请联系管理员!\",\"success\":false}");
            }
            DriveMgr.BLL.UserOperateLog.InsertOperateInfo(userOperateLog);
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                decimal milage = 0; int capacity;
                if (!int.TryParse(txtCapacity.Text, out capacity))
                {
                    error.Visible   = true;
                    error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> Wrong input.Capacity must be integer";
                    return;
                }
                if (!decimal.TryParse(txtMilage.Text, out milage))
                {
                    error.Visible   = true;
                    error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> Wrong input.Mileage must be decimal";
                    return;
                }
                if (hid.Value == "Update")
                {
                    Vehicle veh = null; bool rst = false;
                    veh = VehicleBLL.GetVehicle(Convert.ToInt32(txtID.Text));
                    if (veh != null)
                    {
                        veh.Name              = txtName.Text.ToUpper();
                        veh.AssociatedDriver  = Convert.ToInt32(ddlDriver.SelectedValue);
                        veh.Capacity          = capacity;
                        veh.InsuranceCompany  = Convert.ToInt32(ddlInsur.SelectedValue);
                        veh.InsuranceExprDate = DateTime.Parse(txtIDate.Text, culture);
                        veh.InsuranceNo       = txtInsur.Text;
                        veh.LicenseExprDate   = DateTime.Parse(txtLDate.Text, culture);
                        veh.LicenseNo         = txtLicense.Text;
                        veh.MarkerID          = Convert.ToInt32(ddlMaker.SelectedValue);
                        veh.Mileage           = milage;
                        veh.PlateNo           = txtplate.Text;
                        veh.TrackerCompany    = Convert.ToInt32(ddlTracker.SelectedValue);
                        veh.TypeID            = Convert.ToInt32(ddlVehType.SelectedValue);
                        veh.DateLastModified  = DateTime.Now;
                        if (User.Identity.IsAuthenticated)
                        {
                            veh.LastModifiedBy = User.Identity.Name;
                        }
                        veh.EngineNo   = txtEngNo.Text;
                        veh.ChasisNo   = txtChasis.Text;
                        veh.LocationID = int.Parse(ddlLocation.SelectedValue);
                        if (chk.Checked)
                        {
                            veh.DelFlg = "Y";
                        }
                        else
                        {
                            veh.DelFlg = "N";
                        }
                        rst = VehicleBLL.UpdateVehicle(veh);
                        if (rst != false)
                        {
                            BindGrid();
                            success.Visible   = true;
                            success.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record updated successfully!!.";
                            return;
                        }
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not updated. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
                else
                {
                    bool    result = false;
                    Vehicle veh    = new Vehicle();
                    veh.Name              = txtName.Text.ToUpper();
                    veh.AssociatedDriver  = Convert.ToInt32(ddlDriver.SelectedValue);
                    veh.Capacity          = capacity;
                    veh.InsuranceCompany  = Convert.ToInt32(ddlInsur.SelectedValue);
                    veh.InsuranceExprDate = DateTime.Parse(txtIDate.Text, culture);
                    veh.InsuranceNo       = txtInsur.Text;
                    veh.LicenseExprDate   = DateTime.Parse(txtLDate.Text, culture);
                    veh.LicenseNo         = txtLicense.Text;
                    veh.MarkerID          = Convert.ToInt32(ddlMaker.SelectedValue);
                    veh.Mileage           = milage;
                    veh.PlateNo           = txtplate.Text;
                    veh.TrackerCompany    = Convert.ToInt32(ddlTracker.SelectedValue);
                    veh.TypeID            = Convert.ToInt32(ddlVehType.SelectedValue);
                    veh.Status            = (int)Utility.VehicleStatus.Available;
                    veh.DateAdded         = DateTime.Now;
                    veh.EngineNo          = txtEngNo.Text;
                    veh.ChasisNo          = txtChasis.Text;
                    veh.LocationID        = int.Parse(ddlLocation.SelectedValue);
                    veh.DelFlg            = "N";
                    if (User.Identity.IsAuthenticated)
                    {
                        veh.AddedBy = User.Identity.Name;
                    }

                    result = VehicleBLL.AddVehicle(veh);
                    if (result)
                    {
                        BindGrid();
                        Reset();
                        success.Visible   = true;
                        success.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record added successfully!!.";
                        return;
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not added. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
            }
            catch (Exception ex)
            {
                error.Visible   = true;
                error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
                Utility.WriteError("Error: " + ex.Message);
            }
        }
 protected void lnkCancel_Click(object sender, EventArgs e)
 {
     try
     {
         Trip trip = null;
         int  id   = int.Parse(hid.Value);
         trip = TripBLL.GetTripDetailByID(id);
         if (trip != null)
         {
             if (trip.Status == (int)Utility.FleetRequestStatus.Enroute)//unassign the vehicle if this condition is true
             {
                 if (trip.AssignedVehicle.HasValue)
                 {
                     Vehicle veh = VehicleBLL.GetVehicle(trip.AssignedVehicle.Value);
                     if (veh != null)//updating vehicle information on arrival;
                     {
                         veh.Status = (int)Utility.VehicleStatus.Available;
                         try
                         {
                             VehicleBLL.UpdateVehicle(veh);
                         }
                         catch { }
                     }
                 }
             }
             trip.Status = (int)Utility.FleetRequestStatus.Cancelled;
             if (TripBLL.UpdateTrip(trip))
             {
                 lnkCancel.Visible    = false;
                 dvFleetmgr.Visible   = false;
                 dvHeadDriver.Visible = false;
                 BindGrid(id);
                 //send email to initiator
                 string body     = "";
                 string from     = ConfigurationManager.AppSettings["exUser"].ToString();
                 string to       = ConfigurationManager.AppSettings["GssMailGrp"].ToString();
                 string cc       = ConfigurationManager.AppSettings["headDriverMail"].ToString();
                 string appLogo  = ConfigurationManager.AppSettings["appLogoUrl"].ToString();
                 string siteUrl  = ConfigurationManager.AppSettings["siteUrl"].ToString();
                 string subject  = "Fleet Request Notification";
                 string FilePath = Server.MapPath("EmailTemplates/");
                 if (File.Exists(FilePath + "RequestCancelledNotification.htm"))
                 {
                     FileStream   f1 = new FileStream(FilePath + "RequestCancelledNotification.htm", FileMode.Open);
                     StreamReader sr = new StreamReader(f1);
                     body = sr.ReadToEnd();
                     body = body.Replace("@add_appLogo", appLogo);
                     body = body.Replace("@add_siteUrl", siteUrl);
                     //body = body.Replace("@add_initiator", trip.InitiatorName);
                     body = body.Replace("@add_requestID", trip.ID.ToString());
                     //body = body.Replace("@add_comment", txtComment.Text);
                     // body = body.Replace("@add_approver", usr.StaffName); //Replace the values from DB or any other source to personalize each mail.
                     f1.Close();
                 }
                 try
                 {
                     string rst2 = Utility.SendMail(trip.InitiatorEmail, from, "", subject, body);
                 }
                 catch { }
                 success.Visible   = true;
                 success.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> Request has been successfully Cancelled. Notifications has been sent to Fleet Admin";
             }
         }
         else
         {
             error.Visible   = true;
             error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred while retrieving request.. kindly try again!!!";
             return;
         }
     }
     catch (Exception ex)
     {
     }
 }
 protected void btnLog_Click(object sender, EventArgs e)
 {
     try
     {
         lbmsg.Visible = false;
         string   dTime    = Request.Form["timepicker1"].ToString();
         string   aTime    = Request.Form["timepicker2"].ToString();
         string[] dTimeArg = dTime.Split(new char[] { ':', ' ' });
         string[] aTimeArg = aTime.Split(new char[] { ':', ' ' });
         int      aHr      = int.Parse(aTimeArg[0]);
         int      aMin     = int.Parse(aTimeArg[1]);
         int      dHr      = int.Parse(dTimeArg[0]);
         int      dMin     = int.Parse(dTimeArg[1]);
         string   afrmt    = aTimeArg[2];
         string   dfrmt    = dTimeArg[2];
         if (dfrmt == afrmt)
         {
             if (dHr == aHr && dMin >= aMin)
             {
                 lbmsg.Visible = true;
                 lbmsg.Text    = "Sorry Departure Time could not be greater than or equal to Arrival time";
                 mpeLog.Show();
                 return;
             }
             if (dHr > aHr && dHr != 12)
             {
                 lbmsg.Visible = true;
                 lbmsg.Text    = "Sorry Departure Time could not be greater than Arrival time";
                 mpeLog.Show();
                 return;
             }
         }
         if (dfrmt == "PM" && dHr != 12)
         {
             dHr += 12;
         }
         if (afrmt == "PM" && aHr != 12)
         {
             aHr += 12;
         }
         if (dfrmt == "AM" && dHr == 12)
         {
             //dHr -= 12;
         }
         if (afrmt == "AM" && aHr == 12)
         {
             //aHr -= 12;
         }
         string  dMinPad   = dMin.ToString().PadRight(2, '0');
         string  aMinPad   = aMin.ToString().PadRight(2, '0');
         decimal dpartTime = decimal.Parse(dHr.ToString() + "." + dMinPad);
         decimal arrTime   = decimal.Parse(aHr.ToString() + "." + aMin);
         decimal duration  = 0;
         duration = Utility.GetTripDuration(dHr, dMin, aHr, aMin);
         //if (dfrmt == afrmt && dHr == 12)
         //{
         //    duration = arrTime - dpartTime;
         //    duration += 12;
         //}
         //else
         //{
         //    duration = arrTime - dpartTime;
         //}
         int  requestId = Convert.ToInt32(hid.Value);
         Trip trip      = TripBLL.GetTripDetailByID(requestId);
         if (trip == null)
         {
             error.Visible   = true;
             error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
             return;
         }
         trip.ActualDepartureTime = dTime;
         trip.ActualRetunTime     = aTime;
         trip.ActualDuration      = duration;
         trip.Note   = txtNote.Text;
         trip.Status = (int)Utility.FleetRequestStatus.Completed;
         decimal mileage = 0;
         if (!decimal.TryParse(txtMileage.Text, out mileage))
         {
             lbmsg.Visible = true;
             lbmsg.Text    = "Mileage must be numeric";
             mpeLog.Show();
         }
         trip.MileageOnArrival = mileage;
         int     VehicleID = Convert.ToInt32(((Label)gvheader.Rows[0].FindControl("lbVeh")).Text);
         Vehicle veh       = VehicleBLL.GetVehicle(VehicleID);
         if (veh != null)//updating vehicle information on arrival;
         {
             if (veh.Mileage > mileage)
             {
                 error.Visible   = true;
                 error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button>Current vehicle mileage cannot be greater than logged mileage. Please review your input!!!";
                 return;
             }
             veh.Status  = (int)Utility.VehicleStatus.Available;
             veh.Mileage = mileage;
             VehicleBLL.UpdateVehicle(veh);
         }
         if (TripBLL.UpdateTrip(trip))
         {
             BindLogGrid(); lnkLog.Enabled = false;
             BindGrid(requestId);
             txtNote.Text      = "";
             success.Visible   = true;
             success.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> Trip Completion details has been logged successfully";
         }
         else
         {
             lbmsg.Visible = true;
             lbmsg.Text    = "An error occurred while updating.. kindly try again!!!";
             mpeLog.Show();
         }
     }
     catch (Exception ex)
     {
         error.Visible   = true;
         error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
         Utility.WriteError("Error: " + ex.InnerException);
         return;
     }
 }
        protected void gvVehicle_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                User usr = null;
                if (Session["user"] != null)
                {
                    usr = (User)Session["user"];
                }
                else
                {
                    Response.Redirect("../Login.aspx", false);
                    return;
                }
                String          DriverName   = ((Label)gvVehicle.SelectedRow.FindControl("lbDrv")).Text;
                String          DriverMobile = ((Label)gvVehicle.SelectedRow.FindControl("lbDrvFone")).Text;
                String          VehicleMake  = ((Label)gvVehicle.SelectedRow.FindControl("lbMaker")).Text;
                int             VehicleID    = Convert.ToInt32(gvVehicle.SelectedDataKey["ID"].ToString());
                int             requestId    = Convert.ToInt32(hid.Value);
                SmsNotification sms          = new SmsNotification();
                Trip            trip         = TripBLL.GetTripDetailByID(requestId);
                Vehicle         veh          = VehicleBLL.GetVehicle(VehicleID);
                if (trip != null)
                {
                    trip.Status          = (int)Utility.FleetRequestStatus.Enroute;
                    trip.DateAssigned    = DateTime.Now;
                    trip.AssignedBy      = usr.ID;
                    trip.AssignedVehicle = VehicleID;

                    trip.MileageAtDeparture = veh.Mileage.HasValue ? veh.Mileage.Value : 0;
                    Department dept = DepartmentBLL.GetDepartment(trip.DepartmentID.Value);
                    sms.PHONE   = DriverMobile;
                    sms.SENDER  = smsSender;
                    sms.MESSAGE = "easyFLEET:Trip Assigned:: #Location:" + trip.Location.ToUpper() + " #Destination:" + trip.Destination.ToUpper() + " #Date:" + trip.TripDate.Value.ToString("dd-MMM-yyyy").ToUpper() + " #DepartureTime:" + trip.ExpectedDepartureTime + " #Requestor:" + trip.InitiatorName.ToUpper() + " #Dept:" + dept.Name + " Thanks.";
                    sms.STATUS  = "U";
                    if (TripBLL.UpdateTrip(trip))
                    {
                        BindGrid(requestId);

                        if (veh != null)
                        {
                            veh.Status = (int)Utility.VehicleStatus.Enroute;
                            VehicleBLL.UpdateVehicle(veh);
                        }
                        //Send Sms to drive---to do
                        Utility.AddSmsNotification(sms);

                        lnkCheckAvailabity.Enabled = false;
                        lnkHold.Visible            = false;
                        //send Email to Requestor and sms to Driver
                        string body = "";
                        string from = ConfigurationManager.AppSettings["exUser"].ToString();

                        string appLogo  = ConfigurationManager.AppSettings["appLogoUrl"].ToString();
                        string siteUrl  = ConfigurationManager.AppSettings["siteUrl"].ToString();
                        string subject  = "Vehicle Assignment Notification";
                        string FilePath = Server.MapPath("EmailTemplates/");
                        if (File.Exists(FilePath + "VehicleAssignedNotification.htm"))
                        {
                            FileStream   f1 = new FileStream(FilePath + "VehicleAssignedNotification.htm", FileMode.Open);
                            StreamReader sr = new StreamReader(f1);
                            body = sr.ReadToEnd();
                            body = body.Replace("@add_appLogo", appLogo);
                            body = body.Replace("@add_siteUrl", siteUrl);
                            //body = body.Replace("@add_Initiator", trip.InitiatorName);
                            body = body.Replace("@dd_RequestID", trip.ID.ToString());
                            body = body.Replace("@add_Plate", veh.PlateNo);
                            body = body.Replace("@add_driver", DriverName);
                            body = body.Replace("@add_Mobile", DriverMobile);
                            body = body.Replace("add_vehicleName", veh.Name + "[" + veh.PlateNo + "]");
                            // body = body.Replace("@add_approver", usr.StaffName); //Replace the values from DB or any other source to personalize each mail.
                            f1.Close();
                        }
                        try
                        {
                            string rst2 = Utility.SendMail(trip.InitiatorEmail, from, "", subject, body);
                        }
                        catch { }
                        success.Visible   = true;
                        success.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> Request has been successfully Treated. Notifications has been sent to Initiator, SMS has been sent to the Assigned Driver";
                    }
                }
            }
            catch (Exception ex)
            {
                error.Visible   = true;
                error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
                Utility.WriteError("Error: " + ex.InnerException);
                return;
            }
        }
Exemple #7
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                if (hid.Value == "Update")
                {
                    IncidentLog incident = null; bool rst = false;
                    incident = IncidenceBLL.GetIncidence(Convert.ToInt32(txtID.Text));
                    if (incident != null)
                    {
                        incident.Note              = txtDesc.Text;
                        incident.IncidentTypeID    = Convert.ToInt32(ddlIncType.SelectedValue);
                        incident.AssociatedDriver  = Convert.ToInt32(ddlDriver.SelectedValue);
                        incident.AssociatedVehicle = Convert.ToInt32(ddlVeh.SelectedValue);
                        incident.LastModifiedDate  = DateTime.Now;
                        incident.ModifiedBy        = User.Identity.Name;
                        if (ddlIncType.SelectedValue == vehMaintenanceID)
                        {
                            incident.VehMaintenanceDate = DateTime.Parse(txtDate.Text, culture);
                            decimal mileAtSer = 0;
                            if (!decimal.TryParse(txtMile.Text, out mileAtSer))
                            {
                                error.Visible   = true;
                                error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button>Mileage must be numeric";

                                return;
                            }
                            incident.MileageAtMaintenance = mileAtSer;
                            Vehicle veh = VehicleBLL.GetVehicle(int.Parse(ddlVeh.SelectedValue));
                            if (veh != null)
                            {
                                veh.LastServiceDate      = DateTime.Parse(txtDate.Text, culture);
                                veh.MileageAtLastService = mileAtSer;
                                VehicleBLL.UpdateVehicle(veh);
                            }
                        }
                        rst = IncidenceBLL.UpdateIncidenceLog(incident);
                        if (rst != false)
                        {
                            BindGrid();
                            success.Visible   = true;
                            success.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record updated successfully!!.";
                            return;
                        }
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not updated. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
                else
                {
                    IncidentLog incident = new IncidentLog();
                    if (ddlIncType.SelectedValue == vehMaintenanceID)
                    {
                        decimal mileAtSer = 0;
                        if (!decimal.TryParse(txtMile.Text, out mileAtSer))
                        {
                            error.Visible   = true;
                            error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button>Mileage must be numeric";

                            return;
                        }
                        incident.VehMaintenanceDate   = DateTime.Parse(txtDate.Text, culture);
                        incident.MileageAtMaintenance = mileAtSer;
                        Vehicle veh = VehicleBLL.GetVehicle(int.Parse(ddlVeh.SelectedValue));
                        if (veh != null)
                        {
                            veh.LastServiceDate      = DateTime.Parse(txtDate.Text, culture);
                            veh.MileageAtLastService = mileAtSer;
                            veh.Mileage = mileAtSer;
                            VehicleBLL.UpdateVehicle(veh);
                        }
                    }
                    bool result = false;

                    incident.Note              = txtDesc.Text;
                    incident.IncidentTypeID    = Convert.ToInt32(ddlIncType.SelectedValue);
                    incident.AssociatedDriver  = Convert.ToInt32(ddlDriver.SelectedValue);
                    incident.AssociatedVehicle = Convert.ToInt32(ddlVeh.SelectedValue);
                    incident.DateAdded         = DateTime.Now;
                    incident.AddedBy           = User.Identity.Name;
                    result = IncidenceBLL.AddIncidence(incident);
                    if (result)
                    {
                        BindGrid();
                        Reset();
                        success.Visible   = true;
                        success.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record added successfully!!.";
                        return;
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not added. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
            }
            catch (Exception ex)
            {
                error.Visible   = true;
                error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
                Utility.WriteError("Error: " + ex.Message);
            }
        }