276 lines
10 KiB
C#
276 lines
10 KiB
C#
|
|
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
|
|
|
|
/// <summary>
|
|
/// This controller contain api releated to service engineer
|
|
/// </summary>
|
|
public class WMController : ApiController
|
|
{
|
|
#region Global Variable
|
|
|
|
/// <summary>
|
|
/// making object of LoggingUtility class available to this class
|
|
/// </summary>
|
|
LoggingUtility objLog = new LoggingUtility();
|
|
|
|
/// <summary>
|
|
/// making the data-log file path available to this class
|
|
/// </summary>
|
|
string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
|
|
|
|
/// <summary>
|
|
/// making data log file path available to this class
|
|
/// </summary>
|
|
string logtf = (ConfigurationManager.AppSettings["Log"]);
|
|
|
|
/// <summary>
|
|
/// making error log file path available to this class
|
|
/// </summary>
|
|
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
|
|
|
|
/// <summary>
|
|
/// making ServiceEngineerRegistration Repository object available to this class
|
|
/// </summary>
|
|
ServiceEngineerRegistrationResponseModel objServiceEngRegistrationResponse;
|
|
|
|
/// <summary>
|
|
/// making ServiceEngineer Repository object available to this class
|
|
/// </summary>
|
|
DealerRepository objDealerRepository;
|
|
|
|
/// <summary>
|
|
/// making the Database connection string available to this class
|
|
/// </summary>
|
|
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
|
|
|
|
#endregion
|
|
|
|
|
|
#region APIs
|
|
|
|
/// <summary>
|
|
/// To get open ticket detail of dealer
|
|
/// </summary>
|
|
/// <param name="model">Dealer info</param>
|
|
/// <returns>open ticket details of dealer</returns>
|
|
public List<DealerOpenTicketDetailModel> Post([FromBody] DealerOpenTicketDetailModel model)
|
|
{
|
|
DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel();
|
|
List<DealerOpenTicketDetailModel> objList = new List<DealerOpenTicketDetailModel>();
|
|
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<SyncModel> Post([FromUri] string Sync, [FromUri] string WM, [FromBody] SyncModel model)
|
|
{
|
|
SyncModel objModel = new SyncModel();
|
|
List<SyncModel> objList = new List<SyncModel>();
|
|
|
|
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<DashboardModel> Post(string dealercode, string wm, string iswm, string get, [FromBody] DashboardModel model)
|
|
{
|
|
List<DashboardModel> objList = new List<DashboardModel>();
|
|
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
|
|
}
|
|
} |