protected string GetVehicleDetail(object o)
 {
     try
     {
         if (o != null)
         {
             Vehicle veh = VehicleBLL.GetVehicle(int.Parse(o.ToString()));
             if (veh != null)
             {
                 return(veh.Name + "(" + veh.PlateNo + ")");
             }
             else
             {
                 return("");
             }
         }
         else
         {
             return("");
         }
     }
     catch
     {
         return("");
     }
 }
 protected void gvVehicle_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         string format = "dd/MM/yyyy";
         hid.Value       = "Update";
         dvDel.Visible   = true;
         dvID.Visible    = true;
         dvMsg.InnerText = "Update Vehicle's Information :";
         btnSubmit.Text  = "Update";
         int     Id  = Convert.ToInt32(gvVehicle.SelectedDataKey[0].ToString());
         Vehicle veh = null;
         veh                       = VehicleBLL.GetVehicle(Id);
         txtID.Text                = Id.ToString();
         txtName.Text              = veh.Name;
         ddlDriver.SelectedValue   = veh.AssociatedDriver.ToString();
         txtCapacity.Text          = veh.Capacity.HasValue?veh.Capacity.Value.ToString():"";
         ddlInsur.SelectedValue    = veh.InsuranceCompany.HasValue?veh.InsuranceCompany.ToString():"";
         txtLicense.Text           = veh.LicenseNo.ToString();
         txtIDate.Text             = veh.InsuranceExprDate.HasValue?DateTime.Parse(veh.InsuranceExprDate.Value.ToString()).ToString(format):"";
         txtInsur.Text             = veh.InsuranceNo;
         txtLDate.Text             = veh.LicenseExprDate.HasValue?DateTime.Parse(veh.LicenseExprDate.Value.ToString()).ToString(format):"";
         txtLicense.Text           = veh.LicenseNo;
         ddlMaker.SelectedValue    = veh.MarkerID.HasValue?veh.MarkerID.Value.ToString():"";
         txtMilage.Text            = veh.Mileage.HasValue ? veh.Mileage.Value.ToString() : "";
         txtplate.Text             = veh.PlateNo;
         ddlTracker.SelectedValue  = veh.TrackerCompany.HasValue?veh.TrackerCompany.Value.ToString():"";
         ddlVehType.SelectedValue  = veh.TypeID.HasValue? veh.TypeID.Value.ToString():"";
         txtEngNo.Text             = veh.EngineNo;
         txtChasis.Text            = veh.ChasisNo;
         ddlLocation.SelectedValue = veh.LocationID.HasValue ? veh.LocationID.Value.ToString() : "";
         if (veh.DelFlg != null)
         {
             if (veh.DelFlg == "Y")
             {
                 chk.Checked = true;
             }
             if (veh.DelFlg == "N")
             {
                 chk.Checked = false;
             }
         }
     }
     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 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);
            }
        }