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'>×</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'>×</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'>×</button> Record updated successfully!!."; return; } } else { error.Visible = true; error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>×</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'>×</button> Record added successfully!!."; return; } else { error.Visible = true; error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>×</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'>×</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'>×</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'>×</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'>×</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'>×</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'>×</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'>×</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'>×</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'>×</button> An error occurred. kindly try again!!!"; Utility.WriteError("Error: " + ex.InnerException); return; } }
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'>×</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'>×</button> Record updated successfully!!."; return; } } else { error.Visible = true; error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>×</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'>×</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'>×</button> Record added successfully!!."; return; } else { error.Visible = true; error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>×</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'>×</button> An error occurred. kindly try again!!!"; Utility.WriteError("Error: " + ex.Message); } }