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
///
/// This controller contain api releated to service engineer
///
public class ServiceEnginnerController : 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
///
ServiceEngineerRepository objServiceEngineerRepository;
///
/// making the Database connection string available to this class
///
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
///
/// making MechanicServiceEngineerLoginResponseModel Repository object available to this class
///
MechanicServiceEngineerLoginResponseModel objMechanicServiceEngineerLoginResponseModel;
#endregion
#region APIs
///
/// To register new service engineer device
///
/// service engineer registration info
/// status
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;
}
}
///
/// To Confirmation the Login of Service Engineer
///
/// Yes Or no
/// service engineer registration info
/// status
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;
}
}
///
/// To update or insert password of service engineer device
///
/// service engineer registration info
/// status
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;
}
}
///
/// To authenticate the service enginner device
///
/// service engineer registration info
/// status
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;
}
}
///
/// Implemented for Mechanic app Login in EOS
///
/// Yes Or no
/// service engineer registration info
/// status
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
///
/// To register new service engineer device
///
/// service engineer registration info
/// status
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;
}
}
///
/// To update or insert password of service engineer device
///
/// service engineer registration info
/// status
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;
}
}
///
/// To authenticate the service enginner device
///
/// service engineer registration info
/// status
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;
}
}
/////
///// To authenticate the service enginner device
/////
///// service engineer registration info
///// status
//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;
// }
//}
///
/// To REefresh FCM id
///
/// service engineer registration info
/// status
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;
}
}
///
/// To REefresh FCM id
///
/// service engineer registration info
/// status
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
}
}