namespace VECV_WebApi.Controllers.Global { #region Namespaces using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Web.Http; using System.Web.Mvc; using VECV_WebApi.Models.EmailServices; using LoggingHelper; using VECV_WebApi.Models.ServiceEngineer; using VECV_WebApi.Models.Customer; using VECV_WebApi.Models.Dealer; using VECV_WebApi.Models.Ticket; #endregion /// /// This controller contain global apis which is used by any user /// public class GlobalController : ApiController { #region Global Variable /// /// making object of LoggingUtility class available to this class /// LoggingUtility objLog = new LoggingUtility(); /// /// making the data-log file path available to this class /// string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]); /// /// making data log file path available to this class /// string logtf = (ConfigurationManager.AppSettings["Log"]); /// /// making error log file path available to this class /// string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]); /// /// making Global Repository object available to this class /// GlobalRepository objGlobalRepository; /// /// making the Database connection string available to this class /// private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString(); #endregion #region APIs /// /// To get all regions list /// /// all regions list public List Get() { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllRegionList(); return objList; } catch (Exception Ex) { // writing error logs objLog.ErrorLogFile("GetAllRegionList_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all time zone list /// /// extra param to identify the api /// all time zone list public DealerDetailModel Post(string IMEI, string ReleaseIMEI1, string ReleaseIMEI2,string ReleaseIMEI3, string ReleaseIMEI4,string ReleaseIMEI6,string ReleaseIMEI7) { try { DealerDetailModel objDealerDetailModel = new DealerDetailModel(); objGlobalRepository = new GlobalRepository(_connStr); objDealerDetailModel = objGlobalRepository.ReleaseIMEI(IMEI); return objDealerDetailModel; } catch (Exception Ex) { // writing error logs objLog.ErrorLogFile("ReleaseIMEI", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all time zone list /// /// extra param to identify the api /// all time zone list public List Get(string TimeZone) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllTimeZoneList(); return objList; } catch (Exception Ex) { // writing error logs objLog.ErrorLogFile("GetAllTimeZoneList_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all Vehicle Type List /// /// extra param to identify the api /// extra param to identify the api /// all Vehicle Type List public List Get(string Global, string VehicleType) { try { List objList = new List(); objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllVehicleTypeList(); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllVehicleTypeList_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To insert vehicle type. /// /// extra param to identify the api /// extra param to identify the api /// vehicle info /// status public VehicleTypeModel Post(string Global, string VehicleType, VehicleTypeModel model) { try { VehicleTypeModel objModel = new VehicleTypeModel(); objGlobalRepository = new GlobalRepository(_connStr); objModel = objGlobalRepository.InsertNewVehicleType(model); return objModel; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("InsertNewVehicletype global controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all Reason details list /// /// extra param to identify the api /// all Reason details list public List get([FromUri] string Reason) { List objList = new List(); try { //Get reason for android if (Reason.Trim().ToUpper() == "ANDROID") { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetReason(); objList.RemoveAll(s => s.TypeId == null); objList = objList.AsEnumerable().Where(s => s.TypeId == "1" || s.TypeId == "2" || s.TypeId == "12" || s.TypeId == "13").ToList(); return objList; } //Get reason for web apps. else { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetReason(); return objList; } } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetReason_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get Estimate Cost details list /// /// extra param to identify the api /// extra param to identify the api /// Estimate Cost details list public List get([FromUri] string EstimateCost, [FromUri] string EstimateCost1) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetEstimateCost(); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetEstimateCost_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To perform diffrent dropdown get operations /// /// extra param to identify the api /// dropdown list public List Post(string Type) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); // get warrenty dropdown list if (Type.ToLower().Trim() == "warranty") { objList = objGlobalRepository.GetWarranty(); } // get dropdown list else if (Type.ToLower().Trim() == "dropdown") { objList = objGlobalRepository.GetDropDownList(); } // get vehicle type dropdown list else if (Type.ToLower().Trim() == "vehicletype") { objList = objGlobalRepository.GetAllVehicleType(); } // get all reasons dropdown list else if (Type.ToLower().Trim() == "all") { objList = objGlobalRepository.GetAllReasons(); } // get closer reason for more then 24 hrs dropdown list else if (Type.ToLower().Trim() == "24hrs") { objList = objGlobalRepository.GetAll24HrsClouserReason(); } // get oppotunity lost dropdown list else if (Type.ToLower().Trim() == "opportunitylost") { objList = objGlobalRepository.GetAllOpportunityLostReason(); } else if (Type.ToLower().Trim() == "delayedreasonmorethan24hrs") { objList = objGlobalRepository.GetAllDelayedReasonMorethan24Hrs(); } // added on 25-11-2020 else if (Type.ToLower().Trim() == "closedticketreason") { objList = objGlobalRepository.GetAllClosedTicketReason(); } // get feedback dropdown list else if (Type.ToLower().Trim() == "feedback") { objList = objGlobalRepository.GetAllFeedBackTypes(); } // get customer feedback dropdown list else if (Type.ToLower().Trim() == "customer_feedback") { objList = objGlobalRepository.GetAllCustomerFeedBackTypes(); } // get suggestion dropdown list else if (Type.ToLower().Trim() == "suggestion") { objList = objGlobalRepository.GetAllSuggestion(); } // get complain dropdown list else if (Type.ToLower().Trim() == "complain") { objList = objGlobalRepository.GetAllComplaint(); } // get call status dropdown list else if (Type.ToLower().Trim() == "callstatus") { objList = objGlobalRepository.GetAllCallStatus(); } else if (Type.ToLower().Trim() == "reasonfordealer") { objList = objGlobalRepository.GetReasonForDealer(); } //added on 28-04-2020 for customer_not_satisfied_questions else if (Type.ToLower().Trim() == "customer_not_satisfied_questions") { objList = objGlobalRepository.GetAllCustomerNotSatisfiedQuestions(); } else if (Type.ToLower().Trim() == "nature_of_problem") { objList = objGlobalRepository.GetNatureOfProblem(); } else if (Type.ToLower().Trim() == "reason_list") { objList = objGlobalRepository.GetFeedBackReasonList(); } // get toll free number source dropdown list else { objList = objGlobalRepository.GetTollFreeNoSources(); } return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetTollFreeNoSources global controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get organisation chart list /// /// extra param to identify the api /// extra param to identify the api /// organisation chart list public List Post(string Global, string Organization) { objGlobalRepository = new GlobalRepository(_connStr); return objGlobalRepository.GetOrganizationListChart(); } /// /// To get language list /// /// extra param to identify the api /// extra param to identify the api /// language list public List Post(string Language, LanguageModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetLanguageList(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetLanguageList global controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all states List /// /// extra param to identify the api /// extra param to identify the api /// all states List public List post([FromUri]string state, [FromBody]StateModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllStateList(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllStateList_Controller", Ex.Message, path, errorlogtf); throw Ex; } } public Telematic_Model Post([FromUri]string Chassis_Detail, [FromBody]Telematic_Model model) { Telematic_Model objModel = new Telematic_Model(); try { objGlobalRepository = new GlobalRepository(_connStr); objModel = objGlobalRepository.ChassisTelematicDetail(model.chassis_no); return objModel; } catch (Exception Ex) { objLog.ErrorLogFile("Telematic_chasis_details", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all City List State Id Wise /// /// extra param to identify the api /// extra param to identify the api /// city info /// all City List State Id Wise public List post([FromUri]string state, [FromUri]string city, [FromBody]CityModel model) { try { List objList = new List(); objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllCityListStateIdWise(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllCityListStateIdWise_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get all Organization List User Id Wise /// /// organization info /// Organization List User Id Wise public List post([FromBody]OrgganizationModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllOrganizationListUserIdWise(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllOrganizationListUserIdWise_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get state list /// /// extra param to identify the api /// extra param to identify the api /// state info /// state list public List post([FromUri]string state, [FromUri]string state1, [FromBody]StateModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetStateListIdWise(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllStateListIdWise_Controller", Ex.Message, path, errorlogtf); throw Ex; } } public List post([FromUri]string state, [FromUri]string state1, [FromUri]string state2, [FromBody]OrgganizationModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAllStateListRegionWise(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAllStateListRegionWise_controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get city list state id wise /// /// extra param to identify the api /// extra param to identify the api /// extra param to identify the api /// state info /// city list state id wise public List post([FromUri]string state, [FromUri]string city, [FromUri]string city1, [FromBody]CityModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetCityListStateIdWise(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetCityListStateIdWise_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get dealer list state and city name wise /// /// extra param to identify the api /// extra param to identify the api /// extra param to identify the api /// extra param to identify the api /// state and city info /// dealer list state and city name wise public List post([FromUri]string dealer, [FromUri]string dealer1, [FromUri]string dealer2, [FromUri]string dealer3, [FromBody]VanModel model) { DealerModel objDealerModel = new DealerModel(); List objListDealerModel = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objListDealerModel = objGlobalRepository.GetDealerStateCityWise(model); return objListDealerModel; } catch (Exception Ex) { // write error log into file objDealerModel.Status = "0"; objDealerModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; ; objLog.ErrorLogFile("GetDealerStateCityWise_Controller", Ex.Message, path, errorlogtf); return objListDealerModel; } } /// /// To get SLA list /// /// extra param to identify the api /// sla info /// SLA list public List post([FromUri]string sla, [FromBody]SlaModel model) { SlaModel objSlaModel = new SlaModel(); List objListSlaModel = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objListSlaModel = objGlobalRepository.GetSla(model); return objListSlaModel; } catch (Exception Ex) { // write error log into file objSlaModel.Status = "0"; objSlaModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetDealerStateCityWise_Controller", Ex.Message, path, errorlogtf); return objListSlaModel; } } /// /// To insert or update reason /// /// extra param to identify the api /// reason info /// status and data public ReasonsModel Post([FromUri]string UpdateReason, [FromBody]ReasonsModel model) { ReasonsModel objModel = new ReasonsModel(); objModel.Status = "0"; try { objGlobalRepository = new GlobalRepository(_connStr); objModel = objGlobalRepository.UpdateOrInsertReason(model); return objModel; } catch (Exception Ex) { // write error log into file objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; return objModel; } } /// /// To insert or update reason /// /// extra param to identify the api /// reason info /// status and data public CustomerModel Post([FromUri]string checkRegistartionNoandGetDetail, [FromBody]CustomerModel model) { CustomerModel objModel = new CustomerModel(); objModel.Status = "0"; try { objGlobalRepository = new GlobalRepository(_connStr); objModel = objGlobalRepository.checkRegistartionNoandGetDetail(model); return objModel; } catch (Exception Ex) { // write error log into file objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; return objModel; } } //commented by shekhar // uncommented by priya 0n 21 oct 2022 for mobile version update public List post([FromUri] string AppConfig, [FromUri] string AppVersion, [FromUri] int AppVersion1, [FromBody] Models.EmailServices.AppModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.GetAppVersion(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetAppVersion_Controller", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To get city list state id wise /// /// extra param to identify the api /// extra param to identify the api /// extra param to identify the api /// state info /// city list state id wise public List post([FromUri]string chassisSearch, [FromBody]CHASSIS_SRCH_Model model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.getChassisBysuggestion(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("EOS Chassis Search", Ex.Message, path, errorlogtf); throw Ex; } } public List post([FromUri] string engineSearch, [FromBody] Engine_SRCH_Model model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.getEngineBysuggestion(model); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("EOS engine Search", Ex.Message, path, errorlogtf); throw Ex; } } public CHASSIS_ODOMETER_Model post([FromUri]string chassisSearch, [FromUri]string getOdoMeter, [FromBody]CHASSIS_ODOMETER_Model model) { CHASSIS_ODOMETER_Model objList = new CHASSIS_ODOMETER_Model(); /// test CHASSIS_ODOMETER_Model objList1 = new CHASSIS_ODOMETER_Model(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.getOdoMeterBYChassis(model); //objList1 = objGlobalRepository.InsertOdoMeterInEOSAPI("NL1119000983", "17EC30290775", "9000330","KM"); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("EOS Gey OdoMeter BY Chassis", Ex.Message, path, errorlogtf); throw Ex; } } #endregion #region "Get Registration number by Engine Number" public List post([FromUri] string enginebyregistration, EngineDetailModel model) { List objList = new List(); try { objGlobalRepository = new GlobalRepository(_connStr); objList = objGlobalRepository.getRegistrationByEngines(model.engine_number); return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("EOS engine Search", Ex.Message, path, errorlogtf); throw Ex; } } #endregion } }