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.Authorization;
using VECV_WebApi.Models.Dealer;
using VECV_WebApi.Models.User;
#endregion
///
/// This cotroller contain apis releted to dealer
///
public class DealerController : ApiController
{
#region Global References
///
/// 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 Dealer 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.GetDealerOpenTicketDetail(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;
}
}
///
/// To get dealer list user-wise organization-wise
///
/// dealer info
/// extra param to identify the api
/// dealer list user-wise organization-wise
public List Post([FromBody]DealerModelList obj, [FromUri]string GetDealer)
{
List objList = new List();
try
{
objDealerRepository = new DealerRepository(_connStr);
objList = objDealerRepository.GetDealerListUserWiseOrgWise(obj);
return objList;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("GetDealerList", Ex.Message, path, errorlogtf);
return objList;
}
}
///
/// To get close ticket detail of dealer
///
/// extra param to identify the api
/// dealer info and date range
/// close ticket detail of dealer
public List Post([FromUri] string dealer, [FromBody]DealerCloseTicketDetailModel model)
{
DealerCloseTicketDetailModel objModel = new DealerCloseTicketDetailModel();
List objList = new List();
try
{
objDealerRepository = new DealerRepository(_connStr);
objList = objDealerRepository.GetDealerCloseTicketDetail(model);
return objList;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("GetDealerCloseTicketDetail_Controller", Ex.Message, path, errorlogtf);
return objList;
}
}
///
/// To get notification of dealer
///
/// extra param to identify the api
/// dealer information
/// notification of dealer
public List Post([FromUri] string notification, [FromBody]DealerNortificationModel model)
{
DealerNortificationModel objModel = new DealerNortificationModel();
List objList = new List();
try
{
objDealerRepository = new DealerRepository(_connStr);
objList = objDealerRepository.GetDealerNortification(model);
return objList;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("GetDealerNortificationModel_Controller", Ex.Message, path, errorlogtf);
return objList;
}
}
///
/// To perform dealer related operations
///
/// extra param to identify the api
/// dealer info
/// status and data
public DealerDetailModel Post([FromUri]string DealerDetail, [FromBody]DealerDetailModel model)
{
DealerDetailModel objModel = new DealerDetailModel();
try
{
objDealerRepository = new DealerRepository(_connStr);
// get Dealer details
if (DealerDetail.ToLower().Trim() == "get")
{
objModel = objDealerRepository.GetDealerDetailDealerIdWise(model);
}
// Get child dealers for a principal dealer
else if (DealerDetail.ToLower().Trim() == "getchilddealers")
{
objModel = objDealerRepository.GetChildDealerships(model);
}
// Get Principal dealership information
else if (DealerDetail.ToLower().Trim() == "getprincipaldealerdetails")
{
objModel = objDealerRepository.GetPrincipalDealershipDetails(model);
}
// Check Van exist or not by reg no.
else if (DealerDetail.ToLower().Trim() == "van")
{
objModel = objDealerRepository.CheckDealerOrVanStatusExistOrNot(model, DealerDetail);
}
// Check dealer exist or not by mob. no
else if (DealerDetail.ToLower().Trim() == "dealer")
{
objModel = objDealerRepository.CheckDealerOrVanStatusExistOrNot(model, DealerDetail);
}
// Adding principle dealership
else if (DealerDetail.ToLower().Trim() == "principledealer")
{
objModel = objDealerRepository.InsertOrUpdatePrincipleDealerDetail(model);
}
else
{
// insert or update dealer details
objModel = objDealerRepository.InsertOrUpdateDealerDetail(model);
}
return objModel;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("controller InsertOrUpdateDealerDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
public DealerOutputModel Post([FromUri]string Dealer, [FromUri]string DealerExistOrNot, [FromBody]DealerInputModel model)
{
// write data log into file
DealerOutputModel objModel = new DealerOutputModel();
try
{
objDealerRepository = new DealerRepository(_connStr);
objModel = objDealerRepository.GetDealerExistOrNot(model);
return objModel;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("GetDealerExistOrNot", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get dealer postion detail with dealer detail
///
/// dealer info
/// status and data
public List Post([FromUri] int PositioningTool, [FromBody]GetDealerPositionModel model)
{
// write data log into file
List objList = new List();
DealerPositionModel objDealerModel = new DealerPositionModel();
try
{
DealerRepository objDealerRepository = new DealerRepository(_connStr);
objList = objDealerRepository.GetDealerPositionDetail(model);
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("DealerController post method no parameter", Ex.Message, path, errorlogtf);
objDealerModel.Status = "0";
objDealerModel.Message = Ex.Message;
objList.Add(objDealerModel);
}
return objList;
}
#region dealer list for dealer wise dashboard
///
/// Get dealer list with user id of dealer for dealer wise dashboard
///
/// user model containing login user id
/// extra param to identify the api
/// dealer list with dealer's user id
public List Post([FromBody]UserModel obj, string dealerDashboard)
{
List objList = new List();
try
{
objDealerRepository = new DealerRepository(_connStr);
objList = objDealerRepository.GetDealerListWithUserId(obj);
return objList;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("GetDealerListWithUserId", Ex.Message, path, errorlogtf);
return objList;
}
}
#endregion
#endregion
#region reassign dealers own van
///
/// To get van and dealer list state 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 info
/// van and dealer list state wise
public List Post([FromUri]string ticket, [FromUri]string ticket1, [FromUri]string ticket2, [FromUri]string ticket3, [FromBody]DealerVanListStateWise model)
{
// write data log into file
try
{
List objList = new List();
DealerRepository objDealer = new DealerRepository(_connStr);
objList = objDealer.GetDealerVanListStateWise(model);
return objList;
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("DealerVanListStateWise_Controller", Ex.Message, path, errorlogtf);
throw Ex;
}
}
///
/// To perform van contact number related operations
///
/// extra param to identify the api
/// van info
/// status and data
public DealerDetailModel Post([FromUri] string UserType,[FromUri] string UserType2, [FromBody]DealerDetailModel model)
{
// write data log into file
DealerDetailModel objModel = new DealerDetailModel();
try
{
string type = "van";
objDealerRepository = new DealerRepository(_connStr);
objModel = objDealerRepository.CheckVanContactDetailsExistOrNot(model, type);
return objModel;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("controller CheckVanContactDetailsExistOrNot UserType2", Ex.Message, path, errorlogtf);
return objModel;
}
}
public string Post([FromUri] string UserType, [FromUri] string UserType2, [FromUri] string Isdeleted, [FromBody] DealerDetailModel model)
{
// write data log into file
string msg = "";
DealerDetailModel objModel = new DealerDetailModel();
try
{
string type = "van";
objDealerRepository = new DealerRepository(_connStr);
msg = objDealerRepository.CheckVanContactDetailsExistOrNotIsdeleted(model, type);
return msg;
}
catch (Exception Ex)
{
// write error log into file
objModel.Status = "0";
objModel.Message = Ex.Message;
objLog.ErrorLogFile("contrller CheckVanContactDetailsExistOrNotIsdeleted", Ex.Message, path, errorlogtf);
return msg;
}
}
#endregion
}
}