namespace VECV_WebApi.Controllers.Dealer { #region Namespaces using LoggingHelper; 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.Dashboard; using VECV_WebApi.Models.Dealer; using VECV_WebApi.Models.ServiceEngineer; using VECV_WebApi.Models.Sync; using VECV_WebApi.Models.Tracking; using VECV_WebApi.Models.User; #endregion /// /// This controller contain api releated to service engineer /// public class WMController : 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 ServiceEngineerRegistration Repository object available to this class /// ServiceEngineerRegistrationResponseModel objServiceEngRegistrationResponse; /// /// making ServiceEngineer Repository object available to this class /// DealerRepository objDealerRepository; /// /// making the Database connection string available to this class /// private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString(); #endregion #region APIs /// /// To get open ticket detail of dealer /// /// Dealer info /// open ticket details of dealer public List Post([FromBody] DealerOpenTicketDetailModel model) { DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel(); List objList = new List(); try { objDealerRepository = new DealerRepository(_connStr); objList = objDealerRepository.GetWMOpenTicketDetail(model); return objList; } catch (Exception Ex) { // write error log into file objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerOpenTicketDetail_Controller", Ex.Message, path, errorlogtf); return objList; } } public List Post([FromUri] string Sync, [FromUri] string WM, [FromBody] SyncModel model) { SyncModel objModel = new SyncModel(); List objList = new List(); try { objDealerRepository = new DealerRepository(_connStr); objList = objDealerRepository.GetSyncTicketDetail_WM(model); return objList; } catch (Exception Ex) { objList.Add(new SyncModel { Status = "0", Message = Ex.Message }); return objList; } } public string Post(string _appName, string RegistrationNo, string iswm) { objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel(); objDealerRepository = new DealerRepository(_connStr); string strappversion = objDealerRepository.updateWMAppVersion(RegistrationNo, _appName); return strappversion; } public List Post(string dealercode, string wm, string iswm, string get, [FromBody] DashboardModel model) { List objList = new List(); try { objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel(); objDealerRepository = new DealerRepository(_connStr); objList = objDealerRepository.GetTileDashboardDataSetWM(model); } catch (Exception Ex) { objList.Add(new DashboardModel { Status = "0", Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message }); // write error log into file objLog.ErrorLogFile("DashboardController GetTileDashboardDataSet", Ex.Message, path, errorlogtf); } return objList; } public RegistrationResponseModel post([FromUri] string multipleDealer, [FromUri] int dealer, [FromUri] int isAuthenticate, [FromBody] ServiceEngineerRegistrationRequestModel model) { RegistrationResponseModel oRegistrationResponseModel = new RegistrationResponseModel(); ServiceEngineerRegistrationResponseModel objServiceEngRegistrationRepsonseModel = new ServiceEngineerRegistrationResponseModel(); try { objDealerRepository = new DealerRepository(_connStr); string Token = ConfigurationManager.AppSettings["Token"].ToString(); model.Token = Token; oRegistrationResponseModel = objDealerRepository.RegisterWMDevice(model); if (oRegistrationResponseModel.Status == "0") { oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.Massage = "Login Failed !!! Please enter registered mobile number available in EOS";// oRegistrationResponseModel.Massage; } else { objServiceEngRegistrationResponse = objDealerRepository.LoginWMUser(model); if (objServiceEngRegistrationResponse.Status == "1") { string strappversion = objDealerRepository.GetWMAppVersion(model.RegistrationNo, Token); //if (strappversion == ConfigurationManager.AppSettings["latest_app_version_Dealers"].ToString()) //{ // return oRegistrationResponseModel; //} if (strappversion == ConfigurationManager.AppSettings["latest_app_version_Dealers"].ToString()) { string[] saAllowedCharacters = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }; string sRandomOTP = GenerateRandomOTP(4, saAllowedCharacters); oRegistrationResponseModel.OTP = sRandomOTP; oRegistrationResponseModel = objDealerRepository.GetUserDetailWMWise(model, sRandomOTP); oRegistrationResponseModel.UserId = oRegistrationResponseModel.UserName.ToString(); oRegistrationResponseModel.Token = Token; oRegistrationResponseModel.OTP = sRandomOTP; oRegistrationResponseModel.IsPasswordExist = "1"; oRegistrationResponseModel.Status = "1"; oRegistrationResponseModel.Massage = "Device Register successfully"; } else { oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.IsPasswordExist = "1"; oRegistrationResponseModel.Massage = "Please update version from play store"; } } else { oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.IsPasswordExist = "1"; oRegistrationResponseModel.Massage = objServiceEngRegistrationResponse.Massage; } } return oRegistrationResponseModel; } catch (Exception Ex) { oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; return oRegistrationResponseModel; } } public CurrentTracking post([FromUri] string Tracking, [FromUri] string Tracking1, [FromUri] string Tracking2, [FromBody] VanModel model) { // write data log into file CurrentTracking objCurrentTracking = new CurrentTracking(); try { TrackingRepository objTrackingRepository = new TrackingRepository(_connStr); objCurrentTracking = objTrackingRepository.GetCurrentTrackingDetailWMWIse(model); return objCurrentTracking; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetCurrentTrackingDetailUserIdWIse_Controller", Ex.Message, path, errorlogtf); objCurrentTracking.status = "0"; objCurrentTracking.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; ; return objCurrentTracking; } } private string GenerateRandomOTP(int iOTPLength, string[] saAllowedCharacters) { string sOTP = String.Empty; string sTempChars = String.Empty; Random rand = new Random(); for (int i = 0; i < iOTPLength; i++) { int p = rand.Next(0, saAllowedCharacters.Length); sTempChars = saAllowedCharacters[rand.Next(0, saAllowedCharacters.Length)]; sOTP += sTempChars; } return sOTP; } #endregion } }