EOS/Controllers/InventoryController.cs
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

956 lines
46 KiB
C#

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using GODATA.Models.Inventory;
using GODATA.Models;
using LoggingHelper;
using GODATA.Models.UserInventory;
using GODATA.Models.Ticket;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;
namespace GODATA.Controllers
{
/// <summary>
/// For Check Session Expire
/// </summary>
[GODATA.MvcApplication.SessionExpire]
public class InventoryController : Controller
{
#region Global Variables
/// <summary>
/// Represent object of InventoryModelRepository class
/// </summary>
private InventoryModelRepository objInventoryModelRepository = new InventoryModelRepository();
/// <summary>
/// Represent object of LoggingUtility class
/// </summary>
LoggingUtility objLog = new LoggingUtility();
/// <summary>
/// Represent string object contain log file path
/// </summary>
string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
/// <summary>
/// Represent string object contain log status
/// </summary>
string logtf = (ConfigurationManager.AppSettings["Log"]);
/// <summary>
/// Represent string object contain Error log status
/// </summary>
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
/// <summary>
/// getting web api token from AppSetting in web.config file
/// </summary>
private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
/// <summary>
/// getting time zone id from AppSetting in web.config file
/// </summary>
private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString();
/// <summary>
/// getting rest api url from AppSetting in web.config file
/// </summary>
private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString();
/// <summary>
/// Global variable for UserInventory repository.
/// </summary>
private UserInventoryRepository objUserInventoryRepository = null;
/// <summary>
/// Global variable for Page Size, offset.
/// </summary>
int lPageSise = 20;
#endregion
/// <summary>
/// The Manage Reason View
/// <returns>returns View Of Manage Reason</returns>
/// </summary>
public ActionResult Reason()
{
return View();
}
/// <summary>
/// Partial View Used in Reason To Get The List Of Reasons
/// <returns>returns Partial View Of List Of Reasons</returns>
/// </summary>
public ActionResult Reason_Detail()
{
objLog.AddLogFile("Inventory_Reason_Detail", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
List<InventoryModel> lsInventoryModel = objInventoryModelRepository.GetReasonList();
ViewBag.pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["InventoryPageSize"]);
return PartialView(lsInventoryModel);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_Reason_Detail", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Partial View Used to Display the Reason Detail
/// <returns>returns Partial View Of Detail Of Reasons Detail</returns>
/// </summary>
public ActionResult AddOrEditReason(InventoryModel objInventoryModel)
{
objLog.AddLogFile("Inventory_AddOrEditReason", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
List<InventoryModel> lsTypeIds = objInventoryModelRepository.GetTypeIdsList();
List<SelectListItem> oTypeIdsList = new List<SelectListItem>();
foreach (InventoryModel items in lsTypeIds)
{
oTypeIdsList.Add(new SelectListItem { Value = Convert.ToString(items.TypeId), Text = Convert.ToString(items.TypeAlias) });
}
ViewBag.TypeIds = oTypeIdsList;
return PartialView(objInventoryModel);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_AddOrEditReason", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///// <summary>
///// Method Used to delete the Reason
///// </summary>
//public ActionResult ManageReason_DeleteReason(InventoryModel objInventoryModel)
//{
// objLog.AddLogFile("ManageReason_DeleteReason", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// try
// {
// objInventoryModel = objInventoryModelRepository.DeleteReason(objInventoryModel);
// if (objInventoryModel.Status.ToString() == "0")
// return Json(new { success = false, message = objInventoryModel.Message });
// else
// return Json(new { success = true, Id = objInventoryModel.Id, message = objInventoryModel.Message });
// }
// catch (Exception ex)
// {
// objLog.ErrorLogFile("ManageReason_DeleteReason", ex.Message, path, errorlogtf);
// objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// throw ex;
// }
//}
/// <summary>
/// Used to Add,update or delete the Reason
/// <returns>returns Meassage, Id, success in the form of JSON</returns>
/// </summary>
[HttpPost]
public ActionResult UpdateReason(InventoryModel objInventoryModel)
{
objLog.AddLogFile("Inventory_UpdateReason", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
InventoryModel objInventoryModel1 = new InventoryModel();
objInventoryModel1 = objInventoryModelRepository.AddOrUpdateReason(objInventoryModel);
if (objInventoryModel1.Status.ToString() == "0")
return Json(new { success = false, message = objInventoryModel1.Message });
else
return Json(new { success = true, Id = objInventoryModel.Id, message = Common.GetMessage(objInventoryModel1.Status) });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_UpdateReason", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Get Organization Chart View
/// <returns>returns View Of Organization Chart</returns>
/// </summary>
public ActionResult GetOrganizationChart()
{
//return Json(lsobjOrganization, JsonRequestBehavior.AllowGet);
return View();
}
/// <summary>
/// Get Organization Chart Detail From API
/// <returns>returns JSON Of Organization Chart Detail</returns>
/// </summary>
[HttpGet]
public JsonResult GetListOrganizationChart()
{
objLog.AddLogFile("Inventory_GetListOrganizationChart", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
List<OrganizationChart> lsobjOrganization = new List<OrganizationChart>();
lsobjOrganization = objInventoryModelRepository.OrganizationChart();
return Json(lsobjOrganization, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_GetListOrganizationChart", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Get State List on Page Load in Manage Fleet Page
/// <returns>return view OF Manage Fleet</returns>
/// </summary>
public ActionResult ManageFleet()
{
objUserInventoryRepository = new UserInventoryRepository();
objLog.AddLogFile("Inventory_ManageFleet", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
string _LoginUserId = Session["UserId"].ToString();
string _timeOffSetMinutes = Session["UtcMinute"].ToString();
ViewBag.SecurityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
ViewBag.UtcMinutes = _timeOffSetMinutes;
ViewBag.Userid = _LoginUserId;
return View();
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_ManageFleet", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
//public ActionResult ManageFleet_Partial()
//{
// objLog.AddLogFile("Inventory_ManageFleet_Partial", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// try
// {
// //Getting Organization list user wise
// List<OrganizationModel> oOrganizationList = objUserInventoryRepository.GetOrganizationList();
// List<SelectListItem> oOrganizationNameList = new List<SelectListItem>();
// foreach (OrganizationModel items in oOrganizationList)
// {
// oOrganizationNameList.Add(new SelectListItem { Text = items.OrganizationName, Value = items.Id.ToString() });
// }
// ViewBag.OrganizationList = oOrganizationNameList.OrderBy(o => o.Text);
// return PartialView();
// }
// catch (Exception ex)
// {
// objLog.ErrorLogFile("UserInventory_ManageFleet_Partial", ex.Message, path, errorlogtf);
// ModelState.AddModelError(string.Empty, ex.Message);
// throw ex;
// }
//}
/// <summary>
/// Get Dealer List based on State And City
/// </summary>
/// <param name="sStateIdNo">State Id</param>
/// <param name="sCityIdNo">City Id</param>
/// <returns></returns>
public ActionResult GetDealerList(string sStateIdNo, string sCityIdNo)
{
string _LoginUserId = Session["UserName"].ToString();
string sStateName = "";
string sCityName = "";
List<ManageFleet> lsManageFleet = new List<ManageFleet>();
objLog.AddLogFile("Inventory_GetDealerList", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objUserInventoryRepository = new UserInventoryRepository();
List<StateModel> oStateList = objUserInventoryRepository.GetStateList();
List<CityModel> oCityList = objUserInventoryRepository.GetCityList(Convert.ToInt32(sStateIdNo));
sStateName = oStateList.Where(w => w.StateId.Equals(sStateIdNo)).Select(s => s.StateAlias).FirstOrDefault();
sCityName = oCityList.Where(w => w.CityId.Equals(sCityIdNo)).Select(s => s.CityName).FirstOrDefault();
objInventoryModelRepository = new InventoryModelRepository();
if (sStateName != "" && sStateName != null)
lsManageFleet = objInventoryModelRepository.GetDealerList(_LoginUserId, sStateName, sCityName).Where(p => p.IsDeleted == false).ToList();
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return PartialView(lsManageFleet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_GetDealerList", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Get Dealer Detail Based on Dealer ID
/// </summary>
/// <param name="sDealerId">Dealer ID</param>
/// <returns>return partial view for Dealer Detail list Based on Dealer ID</returns>
///
public ActionResult ReleaseIMEI(string IMEI)
{
objLog.AddLogFile("Inventory_AddOrEditFleet", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objUserInventoryRepository = new UserInventoryRepository();
ManageFleet objManageFleet = new Models.Inventory.ManageFleet();
objManageFleet = objInventoryModelRepository.ReleaseIMEI(IMEI);
if (objManageFleet.Status.ToString() == "0")
return Json(new { success = false, message = "License No. Not Found", IMEI = IMEI });
else
return Json(new { success = true, message = IMEI + " is released.", IMEI = IMEI });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_AddOrEditFleet", ex.Message, path, errorlogtf);
ModelState.AddModelError(string.Empty, ex.Message);
throw ex;
}
}
/// <summary>
/// Get Dealer Detail Based on Dealer ID
/// </summary>
/// <param name="sDealerId">Dealer ID</param>
/// <returns>return partial view for Dealer Detail list Based on Dealer ID</returns>
public ActionResult AddOrEditFleet(string sDealerId)
{
objLog.AddLogFile("Inventory_AddOrEditFleet", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objUserInventoryRepository = new UserInventoryRepository();
ManageFleet objManageFleet = new Models.Inventory.ManageFleet();
//Getting Organization list user wise
List<OrganizationModel> oOrganizationList = objUserInventoryRepository.GetOrganizationList();
List<SelectListItem> oOrganizationNameList = new List<SelectListItem>();
foreach (OrganizationModel items in oOrganizationList)
{
oOrganizationNameList.Add(new SelectListItem { Text = items.OrganizationName, Value = items.Id.ToString() });
}
ViewBag.OrganizationList = oOrganizationNameList.OrderBy(o => o.Text);
//Getting State list
List<StateModel> oStateList = objUserInventoryRepository.GetStateList();
List<SelectListItem> oStateNameList = new List<SelectListItem>();
foreach (StateModel items in oStateList)
{
oStateNameList.Add(new SelectListItem { Text = items.StateAlias, Value = items.StateId });
}
ViewBag.StateList = oStateNameList.OrderBy(o => o.Text);
objManageFleet = objInventoryModelRepository.GetDealerCompleteDetail(sDealerId);
if (objManageFleet.VanList != null)
objManageFleet.VanList = objManageFleet.VanList.Where(p => p.VanId != null && p.IsDeletedVan == false).ToList();
ViewBag.pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["ManageGIS_PageSize"]);
objManageFleet.DealerStateName = objManageFleet.DealerState;
objManageFleet.DealerOrganizationName = oOrganizationList.Where(w => w.Id.Equals(objManageFleet.DealerOrganizationId)).Select(s => s.OrganizationName).FirstOrDefault();
if (!string.IsNullOrEmpty(objManageFleet.DealerState))
{
objManageFleet.DealerState = oStateList.Where(w => w.StateAlias.Equals(objManageFleet.DealerState)).Select(s => s.StateId).FirstOrDefault();
objManageFleet.CityId = objManageFleet.DealerCity;
objManageFleet.NewDealerId = objManageFleet.DealerId;
}
ViewBag.StateId = objManageFleet.DealerState;
ViewBag.DealterLat = objManageFleet.DealerDealerDefaultLattitude;
ViewBag.DealerLong = objManageFleet.DealerDealerDefaultLongitude;
return PartialView(objManageFleet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_AddOrEditFleet", ex.Message, path, errorlogtf);
ModelState.AddModelError(string.Empty, ex.Message);
throw ex;
}
}
/// <summary>
/// Get Van Detail
/// </summary>
/// <param name="objVanList">Contians Property That contains the detail of van</param>
/// <returns>return partial view for Van Detail</returns>
public ActionResult AddorEditVanDetail(VanList objVanList)
{
objLog.AddLogFile("Inventory_AddorEditVanDetail", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
VanList objVanList1 = new VanList();
objUserInventoryRepository = new UserInventoryRepository();
List<StateModel> oStateList = objUserInventoryRepository.GetStateList();
List<SelectListItem> oStateNameList = new List<SelectListItem>();
foreach (StateModel items in oStateList)
{
oStateNameList.Add(new SelectListItem { Text = items.StateAlias, Value = items.StateId });
}
ViewBag.StateList = oStateNameList.OrderBy(o => o.Text);
if (!string.IsNullOrEmpty(objVanList.VanState))
{
objVanList.vanStateId = Convert.ToInt32(oStateList.Where(w => w.StateAlias.Equals(objVanList.VanState)).Select(s => s.StateId).FirstOrDefault());
List<CityModel> oCityList = objUserInventoryRepository.GetCityList(objVanList.vanStateId);
objVanList.vanCityId = Convert.ToInt32(oCityList.Where(w => w.CityName.Equals(objVanList.VanCity)).Select(s => s.CityId).FirstOrDefault());
objVanList1 = objVanList;
}
return PartialView(objVanList1);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_AddorEditVanDetail", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Save, Update and Delete the Dealer Detail Including Van Detail of Dealer
/// <returns>returns message and status in form of JSON</returns>
/// </summary>
public ActionResult SaveManageFleet(ManageFleet objFleet)
{
bool isdeleted = objFleet.IsDeleted;
string DealerId = objFleet.NewDealerId;
objInventoryModelRepository = new InventoryModelRepository();
ManageFleet objManageFleet1 = new Models.Inventory.ManageFleet();
objLog.AddLogFile("Inventory_SaveManageFleet", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objManageFleet1 = objInventoryModelRepository.SaveDealerDetail(objFleet);
objManageFleet1.DealerId = DealerId;
if (objManageFleet1.Status.ToString() == "0")
return Json(new { success = false, message = objManageFleet1.Message, DealerId = DealerId });
else if (objManageFleet1.Status.ToString() == "3")
return Json(new { success = false, message = "Dealer Id Already Exist", DealerId = DealerId });
else if (isdeleted == true)
return Json(new { success = true, message = "Record has been Successfully deleted" });
else
return Json(new { success = true, message = Common.GetMessage((int)Common.STATUS_CODE.nADD_REC), DealerId = DealerId });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_SaveManageFleet", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Check Duplicate Dealer Contact No Or Van Registration No
/// <returns>returns message and status in form of JSON</returns>
/// </summary>
[HttpPost]
public ActionResult CheckDealerContactNoAndVanRegistrationNo(string sDealerDetail, string sDealerContactNo)
{
objInventoryModelRepository = new InventoryModelRepository();
ManageFleet objManageFleet1 = new Models.Inventory.ManageFleet();
objLog.AddLogFile("Inventory_CheckDealerContactNoAndVanRegistrationNo", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objManageFleet1 = objInventoryModelRepository.CheckDealerContactNoAndVanRegistrationNo(sDealerDetail, sDealerContactNo);
if (objManageFleet1.Status.ToString() == "2")
return Json(new { status = objManageFleet1.Status.ToString(), success = false, message = sDealerDetail == "dealer" ? "Dealer contact no. already exist." : "Van registration no. is already exist." });
else if (objManageFleet1.Status.ToString() == "1")
return Json(new { status = objManageFleet1.Status.ToString(), success = true });
else
return Json(new { status = objManageFleet1.Status.ToString(), success = false });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_CheckDealerContactNoAndVanRegistrationNo", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Check Duplicate Dealer SCode
/// <returns>returns message and status in form of JSON</returns>
/// </summary>
[HttpPost]
public ActionResult CheckDealerSCode(string sDealerScode)
{
objInventoryModelRepository = new InventoryModelRepository();
DealerOutputModel objDealerOutputModel = new Models.Inventory.DealerOutputModel();
objLog.AddLogFile("Inventory_CheckDealerSCode", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objDealerOutputModel = objInventoryModelRepository.CheckDealerScode(sDealerScode);
if (objDealerOutputModel.Status.ToString() == "1")
return Json(new { status = objDealerOutputModel.Status.ToString(), success = false, DealerId = sDealerScode });
else if (objDealerOutputModel.Status.ToString() == "2")
return Json(new { status = objDealerOutputModel.Status.ToString(), success = true, message = "Dealer Id Already Exist", DealerId = sDealerScode });
else
return Json(new { status = objDealerOutputModel.Status.ToString(), success = false, DealerId = sDealerScode });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_CheckDealerSCode", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// The popup for Showing Dealer Van detail
/// <returns>returns PartialView with dealer van detail</returns>
/// </summary>
public ActionResult ShowDealerVanDetail(VanList objVanList)
{
return PartialView(objVanList);
}
/// <summary>
/// The popup for Showing Dealer Map
/// <returns>returns PartialView for showing Dealer Map</returns>
/// </summary>
public ActionResult ShowDealerMap()
{
return PartialView();
}
/// <summary>
/// The Manage Owner View
/// <returns>returns View Of Manage Owner</returns>
/// </summary>
public ActionResult ManageOwner()
{
string _LoginUserId = Session["UserId"].ToString();
string _timeOffSetMinutes = Session["UtcMinute"].ToString();
ViewBag.SecurityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
ViewBag.UtcMinutes = _timeOffSetMinutes;
ViewBag.Userid = _LoginUserId;
return View();
}
/// <summary>
/// Get Owner List sith set pagging
/// <returns>returns partial View of Owner List and set pagging</returns>
/// </summary>
public ActionResult OwnerListPaging([DataSourceRequest] DataSourceRequest dsr, string State, string Value, string PageSize)
{
int lTtlRec = 0;
List<ManageOwner> oOwnerList = objInventoryModelRepository.GetOwnerList(State, Value, lPageSise + 1, (dsr.Page - 1) * lPageSise);
ViewData["State"] = State;
ViewData["Value"] = Value;
lTtlRec = dsr.Page * oOwnerList.Count();
if (oOwnerList.Count > lPageSise)
lTtlRec = (dsr.Page * lPageSise) + 1;
if (Convert.ToInt32(PageSize) > (dsr.Page * lPageSise))
{
ViewData["PageSize"] = Convert.ToInt32(PageSize);
}
else
{
ViewData["PageSize"] = lTtlRec;
}
var result = new DataSourceResult()
{
Data = oOwnerList, // Process data (paging and sorting applied)
Total = Convert.ToInt32(ViewData["PageSize"]) // Total number of records
};
return Json(result);
}
/// <summary>
/// Get Owner List based on state and filter value(Registration No. , Mobile No. and owner name)
/// <returns>returns partial View oF Owner List</returns>
/// </summary>
[HttpPost]
public ActionResult ManageOwner_GetOwnerList(string state, string FilterVal)
{
objLog.AddLogFile("ManageOwner_GetOwnerList", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
ViewData["State"] = state;
ViewData["Value"] = FilterVal;
int lTtlRec = 0;
objInventoryModelRepository = new InventoryModelRepository();
List<ManageOwner> oOwnerList = objInventoryModelRepository.GetOwnerList(state, FilterVal, lPageSise + 1, 0);
lTtlRec = oOwnerList.Count;
lTtlRec = lTtlRec >= lPageSise ? lTtlRec : lPageSise;
ViewData["PageSize"] = lTtlRec;
var result = new DataSourceResult()
{
Data = oOwnerList, // Process data (paging and sorting applied)
Total = lTtlRec // Total number of records
};
return PartialView(oOwnerList);
}
catch (Exception ex)
{
objLog.ErrorLogFile("ManageOwner_GetOwnerList", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Get Owner Detail Based on Onwer Id
/// </summary>
/// <param name="CustId">Onwer Id</param>
/// <returns>returns Partial View of Add Or Edit Onwer</returns>
public ActionResult ManageOwner_GetOwnerDetails(string CustId)
{
objUserInventoryRepository = new UserInventoryRepository();
objLog.AddLogFile("ManageOwner_GetOwnerDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objInventoryModelRepository = new InventoryModelRepository();
List<ManageOwner> lsOwner = objInventoryModelRepository.GetOwnerDetails(CustId);
lsOwner.Where(x => x.VehicleInstallationDate == "01 Jan 0001").ToList().ForEach(x => x.VehicleInstallationDate = "");
ManageOwner objManager = new Models.Inventory.ManageOwner();
objManager = lsOwner.Where(p => p.CustomerVehicleIsOwner == true).FirstOrDefault();
if (objManager == null)
objManager = new Models.Inventory.ManageOwner();
objManager.plsVechileList = lsOwner.Where(p => p.CustomerVehicleIsOwner == false).GroupBy(p => p.VehicleId).Select(g => g.First()).ToList();
ViewBag.pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["ownerDetailPageSize"]);
List<StateModel> oStateList = objUserInventoryRepository.GetStateList();
List<SelectListItem> oStateNameList = new List<SelectListItem>();
foreach (StateModel items in oStateList)
{
oStateNameList.Add(new SelectListItem { Text = items.StateAlias, Value = items.StateId });
}
ViewBag.StateList = oStateNameList.OrderBy(o => o.Text);
objManager.OwnerStateId = Convert.ToInt32(oStateNameList.Where(p => p.Text == objManager.CustomerState).Select(p => p.Value).FirstOrDefault());
objManager.OwnerCityId = objManager.CustomerCity;
return PartialView(objManager);
}
catch (Exception ex)
{
objLog.ErrorLogFile("ManageOwner_GetOwnerDetails", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Add or Update Customer Vechile detail and Customer Detail
/// </summary>
/// <param name="objVechileList">Contains Properties that is used to </param>
/// <returns>returns Partial View of Add or edit Customer Detail</returns>
public ActionResult ManageOwner_AddOrEditCustomer(ManageOwner objVechileList)
{
TicketAdministrationRepository objTicketAdministrationRepository = new TicketAdministrationRepository();
objUserInventoryRepository = new UserInventoryRepository();
//Getting list of vehicle model no.
List<VehicleModelModel> oVehicleModelList = objTicketAdministrationRepository.GetVehicleModelList();
List<SelectListItem> item1 = new List<SelectListItem>();
if ((objVechileList.VehicleId == null || objVechileList.VehicleId == "") || (objVechileList.CustomerId == null || objVechileList.CustomerId == ""))
oVehicleModelList = oVehicleModelList.Where(p => p.IsDeleted == false).ToList();
foreach (VehicleModelModel items in oVehicleModelList)
{
item1.Add(new SelectListItem { Text = Convert.ToString(items.VehicleTypeName), Value = items.VehicleTypeId });
}
ViewBag.VehicleModelNo = item1.OrderBy(o => o.Text);
//Getting list of vehicle type(truck or bus).
List<VehicleTypeModel> oVehicleTypeList = objTicketAdministrationRepository.GetVehicleTypeList();
List<SelectListItem> item11 = new List<SelectListItem>();
foreach (VehicleTypeModel items in oVehicleTypeList)
{
item11.Add(new SelectListItem { Text = items.ReasonName, Value = items.ReasonName });
}
ViewBag.VehicleType = item11.OrderBy(o => o.Text);
List<StateModel> oStateList = objUserInventoryRepository.GetStateList();
List<SelectListItem> oStateNameList = new List<SelectListItem>();
foreach (StateModel items in oStateList)
{
oStateNameList.Add(new SelectListItem { Text = items.StateAlias, Value = items.StateId });
}
ViewBag.StateList = oStateNameList.OrderBy(o => o.Text);
objVechileList.CustomerStateIdNo = Convert.ToInt32(oStateNameList.Where(p => p.Text == objVechileList.CustomerState).Select(p => p.Value).FirstOrDefault());
return PartialView(objVechileList);
}
/// <summary>
/// Add or update Customer Vechile detail in grid
/// <returns>returns list of Customer detail in form of JSON</returns>
/// </summary>
public ActionResult GetCustList(string VechileIdNo, string CustId, string CustomerName,
string CustMobNo, string CustomerAddress, string CustState,
string CustCity, string VehicleRegistrationNumber, string CustomerEmailId, string VehicleNumberPlate,
string VehicleModelNumber, string VehicleType, string producVar, string VehicleInstallationDate, string CustomerVehicleModelName, [DataSourceRequest] DataSourceRequest request)
{
List<ManageOwner> lsCust = objInventoryModelRepository.GetOwnerDetails(CustId);
if (VechileIdNo == "" && CustId == "")
{
ManageOwner objManageerOwner = new ManageOwner();
objManageerOwner.CustomerCustomerName = CustomerName;
objManageerOwner.VehicleId = VechileIdNo;
objManageerOwner.CustomerId = CustId;
objManageerOwner.CustomerCity = CustCity;
objManageerOwner.CustomerMobileNumber1 = CustMobNo;
objManageerOwner.CustomerState = CustState;
objManageerOwner.CustomerAddress = CustomerAddress;
objManageerOwner.VehicleRegistrationNumber = VehicleRegistrationNumber.ToUpper();
objManageerOwner.CustomerEmailId = CustomerEmailId;
objManageerOwner.VehicleNumberPlate = VehicleNumberPlate;
objManageerOwner.VehicleModelNumber = VehicleModelNumber;
objManageerOwner.VehicleType = VehicleType;
objManageerOwner.CustomerVehicleModelTagging = producVar;
objManageerOwner.VehicleInstallationDate = VehicleInstallationDate;
objManageerOwner.CustomerVehicleModelName = CustomerVehicleModelName;
lsCust.Add(objManageerOwner);
}
lsCust = lsCust.Where(p => p.CustomerVehicleIsOwner == false && p.VehicleId == VechileIdNo).ToList();
lsCust.ForEach(i => i.VehicleRegistrationNumber = VehicleRegistrationNumber.ToUpper());
return Json(lsCust.ToDataSourceResult(request));
}
/// <summary>
/// To Save, Update and Delete the Owner Detail Including Vehicle and Driver Detail
/// <returns>returns success and message in form of JSON</returns>
/// </summary>
public ActionResult ManageOwner_SaveOwner(ManageOwner objManageOwner)
{
objInventoryModelRepository = new InventoryModelRepository();
ManageOwner objManagerNew = new Models.Inventory.ManageOwner();
objLog.AddLogFile("ManageOwner_SaveOwner", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objManagerNew = objInventoryModelRepository.SaveOwnerDetail(objManageOwner);
if (objManagerNew.Status.ToString() == "0")
return Json(new { success = false, message = objManagerNew.Message });
else if (objManageOwner.IsDeleted == true)
{
return Json(new { success = true, message = "Record has been Successfully deleted", Custid = "" });
}
else
return Json(new { success = true, message = Common.GetMessage((int)Common.STATUS_CODE.nADD_REC), Custid = objManagerNew.CustomerId });
}
catch (Exception ex)
{
objLog.ErrorLogFile("ManageOwner_SaveOwner", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Check Duplicate Owner Mobile No. Or Van Registration No or Van Chasis No.
/// </summary>
/// <returns>returns success, message and Record Count in form of JSON</returns>
[HttpPost]
public JsonResult CheckForDuplication(string CustName, string type)
{
objInventoryModelRepository = new InventoryModelRepository();
ManageOwner objManageOwner = new Models.Inventory.ManageOwner();
objLog.AddLogFile("ManageOwner_SaveOwner", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objManageOwner = objInventoryModelRepository.CheckDupOwnerContactNoVechRegNoAndVechChasisNo(CustName, type);
if (objManageOwner.Type.ToString() == "0")
return Json(new { success = true, message = objManageOwner.Message, count = objManageOwner.Type });
else
{
string sMsg = "";
switch (type)
{
case "1":
sMsg = "The Registration No. is already Exist";
break;
case "2":
sMsg = "The Chasis No. is already Exist";
break;
case "3":
sMsg = "The Owner Mobile No. is already Exist";
break;
}
return Json(new { success = false, message = sMsg, count = objManageOwner.Type });
}
}
catch (Exception ex)
{
objLog.ErrorLogFile("ManageOwner_SaveOwner", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// View Of Manage Vehicle
/// </summary>
/// <returns>View Of Manage Vehicle</returns>
public ActionResult ManageVehicle()
{
return View();
}
/// <summary>
/// Partial View Used to display the vehicle List with detail
/// <returns>returns Partial View</returns>
/// </summary>
public ActionResult Vehicle_Detail()
{
objLog.AddLogFile("Vehicle_Detail", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
List<GODATA.Models.TicketAdministration_Dealer.VehicleModelModel> lsVehicleModel = objInventoryModelRepository.GetVehicleModelList();
lsVehicleModel = lsVehicleModel.Where(p => p.IsDeleted == false).ToList();
ViewBag.pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["InventoryPageSize"]);
return PartialView(lsVehicleModel);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Vehicle_Detail", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Partial View Used to Display the vehicle Detail
/// </summary>
/// <param name="objInventoryModel">Contains value in Property that is used to Display the vehicle Detail</param>
/// <returns>returns Partial View</returns>
public ActionResult AddOrEditVehicle(GODATA.Models.TicketAdministration_Dealer.VehicleModelModel objInventoryModel)
{
objLog.AddLogFile("AddOrEditVehicle", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
//Get Vehicle Model List From Inventory Mod
List<GODATA.Models.TicketAdministration_Dealer.VehicleModelModel> lsVehicleModel = objInventoryModelRepository.GetVehicleModelList();
//Get distinct value of Vehicle Model
lsVehicleModel = lsVehicleModel.GroupBy(p => p.VehicleTypeTagging).Select(g => g.First()).ToList();
List<SelectListItem> oVehicleModelList = new List<SelectListItem>();
foreach (GODATA.Models.TicketAdministration_Dealer.VehicleModelModel items in lsVehicleModel)
{
oVehicleModelList.Add(new SelectListItem { Value = Convert.ToString(items.VehicleTypeTagging), Text = Convert.ToString(items.VehicleTypeTagging) });
}
ViewBag.VehicleTypeTagging = oVehicleModelList;
if (objInventoryModel.VehicleTypeId != "" && objInventoryModel.VehicleTypeId != null)
objInventoryModel.Operation = "update";
else
objInventoryModel.Operation = "insert";
return PartialView(objInventoryModel);
}
catch (Exception ex)
{
objLog.ErrorLogFile("AddOrEditVehicle", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/// <summary>
/// Function used to save, update And Delete the Vehicle Model
/// </summary>
/// <param name="objVehicleModel">Contains value in Property that is used to update,insert and Delete</param>
/// <returns>returns JSON Result which contains Messages and status</returns>
[HttpPost]
public ActionResult InsertVehicleModel(GODATA.Models.TicketAdministration_Dealer.VehicleModelModel objVehicleModel)
{
objLog.AddLogFile("InsertVehicleModel", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
//This function will update or insert value through API
objVehicleModel = objInventoryModelRepository.AddOrUpdateVechicleModel(objVehicleModel);
if (objVehicleModel.Status.ToString() == "0" || objVehicleModel.Status.ToString() == "2")
return Json(new { success = false, message = objVehicleModel.Message });
else
return Json(new { success = true, message = Common.GetMessage((int)Common.STATUS_CODE.nADD_REC) });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_UpdateReason", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///// <summary>
///// Method Used to delete the Vechile Model
///// </summary>
//public ActionResult ManageVehicle_DeleteVehicle(GODATA.Models.TicketAdministration_Dealer.VehicleModelModel objVehicleModel)
//{
// objLog.AddLogFile("ManageVehicle_DeleteVehicle", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// try
// {
// objVehicleModel = objInventoryModelRepository.DeleteVehicle(objVehicleModel);
// if (objVehicleModel.Status.ToString() == "0")
// return Json(new { success = false, message = objVehicleModel.Message });
// else
// return Json(new { success = true, Id = objVehicleModel.VehicleTypeId, message = objVehicleModel.Message });
// }
// catch (Exception ex)
// {
// objLog.ErrorLogFile("ManageVehicle_DeleteVehicle", ex.Message, path, errorlogtf);
// objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// throw ex;
// }
//}
/// <summary>
/// Check Duplicate van Contact No
/// <returns>returns message and status in form of JSON</returns>
/// </summary>
[HttpPost]
public ActionResult CheckVanContactNo(string sVanContactNo)
{
objInventoryModelRepository = new InventoryModelRepository();
ManageFleet objManageFleet1 = new Models.Inventory.ManageFleet();
objLog.AddLogFile("Inventory_CheckVanContactNo", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objManageFleet1 = objInventoryModelRepository.CheckVanContactNo(sVanContactNo);
if (objManageFleet1.Status.ToString() == "2")
return Json(new { status = objManageFleet1.Status.ToString(), success = false, message = "Van is already registered with ContactNo : " +sVanContactNo });
else if (objManageFleet1.Status.ToString() == "1")
return Json(new { status = objManageFleet1.Status.ToString(), success = true });
else
return Json(new { status = objManageFleet1.Status.ToString(), success = false });
}
catch (Exception ex)
{
objLog.ErrorLogFile("Inventory_CheckVanContactNo", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
}
}