EOS-WebAPI/Controllers/ServiceEngineer/ServiceEngineerController.cs
Nidhi Bhargava d0ac8a7790 Code Commit
2025-09-04 17:30:22 +05:30

367 lines
17 KiB
C#

namespace VECV_WebApi.Controllers.ServiceEngineer
{
#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.ServiceEngineer;
using VECV_WebApi.Models.User;
#endregion
/// <summary>
/// This controller contain api releated to service engineer
/// </summary>
public class ServiceEnginnerController : 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>
ServiceEngineerRepository objServiceEngineerRepository;
/// <summary>
/// making the Database connection string available to this class
/// </summary>
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
/// <summary>
/// making MechanicServiceEngineerLoginResponseModel Repository object available to this class
/// </summary>
MechanicServiceEngineerLoginResponseModel objMechanicServiceEngineerLoginResponseModel;
#endregion
#region APIs
/// <summary>
/// To register new service engineer device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.RegisterNewServiceEngineerDevice(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("RegisterNewServiceEngineerDevice_Controller", Ex.Message, path, errorlogtf);
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// To Confirmation the Login of Service Engineer
/// </summary>
/// <param name="result">Yes Or no</param>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationConfirmationResponseModel post([FromUri]string result, [FromUri]string result1, [FromUri]string result2, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
ServiceEngineerRegistrationConfirmationResponseModel objServiceEngRegistrationResponse = new ServiceEngineerRegistrationConfirmationResponseModel();
try
{
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.ConfiramationServiceEngineerAPI(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("RegisterNewServiceEngineerDevice_Controller", Ex.Message, path, errorlogtf);
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// To update or insert password of service engineer device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]String Pin, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.UpdateServiceEngineerDevicePin(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("UpdateServiceEngineerDevicePin_Controller", Ex.Message, path, errorlogtf);
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// To authenticate the service enginner device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]String SignId, [FromUri]String ServiceEnginner, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.AuthenticateServiceEngineerDevice(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("AuthenticateServiceEngineerDevice_Controller", Ex.Message, path, errorlogtf);
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// Implemented for Mechanic app Login in EOS
/// </summary>
/// <param name="result">Yes Or no</param>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public MechanicServiceEngineerLoginResponseModel post([FromUri]string result, [FromUri]string result1, [FromUri]string result2, [FromUri]string result3, [FromBody]MechanicServiceEngineerLoginRequestModel model)
{
try
{
objMechanicServiceEngineerLoginResponseModel = new MechanicServiceEngineerLoginResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objMechanicServiceEngineerLoginResponseModel = objServiceEngineerRepository.MechnicalLoginServiceEngineerAPI(model);
return objMechanicServiceEngineerLoginResponseModel;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("RegisterNewServiceEngineerDevice_Controller", Ex.Message, path, errorlogtf);
objMechanicServiceEngineerLoginResponseModel.Status = "0";
objMechanicServiceEngineerLoginResponseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objMechanicServiceEngineerLoginResponseModel;
}
}
#endregion
#region KAM/Dealer Login APIs
/// <summary>
/// To register new service engineer device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public RegistrationResponseModel post([FromUri]int kam_dealer, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
RegistrationResponseModel oRegistrationResponseModel = new RegistrationResponseModel();
try
{
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
oRegistrationResponseModel = objServiceEngineerRepository.RegisterKamOrDealerDevice(model);
string strappversion = objServiceEngineerRepository.GetDealerAppVersion(model.RegistrationNo);
if (strappversion == ConfigurationManager.AppSettings["latest_app_version_Dealers"].ToString())
{
return oRegistrationResponseModel;
}
else
{
oRegistrationResponseModel.Status = "0";
oRegistrationResponseModel.Massage = "Please update version from play store";
return oRegistrationResponseModel;
}
}
catch (Exception Ex)
{
oRegistrationResponseModel.Status = "0";
oRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return oRegistrationResponseModel;
}
}
/// <summary>
/// To update or insert password of service engineer device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]int kam_dealer, [FromUri]String Pin, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.UpdateKamOrDealerDevicePin(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// To authenticate the service enginner device
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]int kam_dealer, [FromUri]int isAuthenticate, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.AuthenticateKamOrDealerDevice(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
///// <summary>
///// To authenticate the service enginner device
///// </summary>
///// <param name="model">service engineer registration info</param>
///// <returns>status</returns>
//public ServiceEngineerRegistrationResponseModel post([FromUri]String kam, [FromUri]String dealer, [FromUri]String SignId, [FromUri]String ServiceEnginner, [FromBody]ServiceEngineerRegistrationRequestModel model)
//{
// try
// {
// objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
// objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
// objServiceEngRegistrationResponse = objServiceEngineerRepository.AuthenticateKamOrDealerDevice(model);
// return objServiceEngRegistrationResponse;
// }
// catch (Exception Ex)
// {
// objServiceEngRegistrationResponse.Status = "0";
// objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
// return objServiceEngRegistrationResponse;
// }
//}
/// <summary>
/// To REefresh FCM id
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]string refreshPushNotification, [FromUri]string refreshPushNotification1, [FromUri]string refreshPushNotification2, [FromUri]string refreshPushNotification3, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.RefreshPushNotification(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
/// <summary>
/// To REefresh FCM id
/// </summary>
/// <param name="model">service engineer registration info</param>
/// <returns>status</returns>
public ServiceEngineerRegistrationResponseModel post([FromUri]string refreshPushNotification, [FromUri]string refreshPushNotification1, [FromUri]string refreshPushNotification2, [FromUri]string refreshPushNotification3, [FromUri]string isMobile, [FromBody]ServiceEngineerRegistrationRequestModel model)
{
try
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
objServiceEngRegistrationResponse = objServiceEngineerRepository.RefreshPushNotificationMobile(model);
return objServiceEngRegistrationResponse;
}
catch (Exception Ex)
{
objServiceEngRegistrationResponse.Status = "0";
objServiceEngRegistrationResponse.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
return objServiceEngRegistrationResponse;
}
}
public string Post(string _appName, string RegistrationNo)
{
objServiceEngRegistrationResponse = new ServiceEngineerRegistrationResponseModel();
objServiceEngineerRepository = new ServiceEngineerRepository(_connStr);
string strappversion = objServiceEngineerRepository.updateDealerAppVersion(RegistrationNo, _appName);
return strappversion;
}
#endregion
}
}