470 lines
19 KiB
C#
470 lines
19 KiB
C#
using LoggingHelper;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using GODATA.RoleServices;
|
|
using GODATA.AuthenticationServices;
|
|
using RestSharp;
|
|
using Newtonsoft.Json;
|
|
using GODATA.Models.Ticket;
|
|
using Kendo.Mvc.UI;
|
|
using Kendo.Mvc.Extensions;
|
|
using GODATA.Models.UserInventory;
|
|
|
|
namespace GODATA.Models.UserInventory
|
|
{
|
|
public class UserInventoryRepository
|
|
{
|
|
#region Global Variables
|
|
|
|
/// <summary>
|
|
/// Represent object of LoggingUtility class
|
|
/// </summary>
|
|
LoggingUtility objLog = new LoggingUtility();
|
|
|
|
/// <summary>
|
|
/// Represent string object contain log file path
|
|
/// </summary>
|
|
//string path = "~/Log/";
|
|
string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
|
|
|
|
/// <summary>
|
|
/// Represent string object contain log status
|
|
/// </summary>
|
|
string logtf = (ConfigurationManager.AppSettings["Log"]);
|
|
|
|
/// <summary>
|
|
/// Represent string object contain Error log status
|
|
/// </summary>
|
|
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
|
|
|
|
/// <summary>
|
|
/// getting application name from AppSetting in web.config file
|
|
/// </summary>
|
|
private static string _appName = ConfigurationManager.AppSettings["ApplicationName"].ToString();
|
|
|
|
/// <summary>
|
|
/// getting web api token from AppSetting in web.config file
|
|
/// </summary>
|
|
private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
|
|
|
|
/// <summary>
|
|
/// getting user's utc minutes from session
|
|
/// </summary>
|
|
private static string _timeOffSetMinutes = null;
|
|
//= System.Web.HttpContext.Current.Session["UtcMinute"].ToString();
|
|
|
|
/// <summary>
|
|
/// getting login user's id
|
|
/// </summary>
|
|
private static string _LoginUserId = null;
|
|
|
|
/// <summary>
|
|
/// getting time zone id from AppSetting in web.config file
|
|
/// </summary>
|
|
private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString();
|
|
|
|
/// <summary>
|
|
/// getting rest api url from AppSetting in web.config file
|
|
/// </summary>
|
|
private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString();
|
|
#endregion
|
|
|
|
#region RestApiCall
|
|
|
|
/// <summary>
|
|
/// Post method to get organization list user wise
|
|
/// </summary>
|
|
/// <returns>return list</returns>
|
|
public List<OrganizationModel> GetOrganizationList()
|
|
{
|
|
try
|
|
{
|
|
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/global", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("Id", _LoginUserId);
|
|
return client.Execute<List<OrganizationModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetOrganizationList", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get method to get region name
|
|
/// </summary>
|
|
/// <returns>return list</returns>
|
|
public List<RegionModel> GetRegionModel()
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/global", Method.GET);
|
|
return client.Execute<List<RegionModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetRegionModel", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get state list
|
|
/// </summary>
|
|
/// <returns>return state list</returns>
|
|
public List<StateModel> GetStateList()
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/global?state=ttpl", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
return client.Execute<List<StateModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetStateList", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get city list state wise
|
|
/// </summary>
|
|
/// <returns>return city list</returns>
|
|
public List<CityModel> GetCityList(int StateId)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/global?state=ttpl&city=ttpl", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("StateId", StateId);
|
|
return client.Execute<List<CityModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetCityList", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get non-vecv users(dealers) list
|
|
/// </summary>
|
|
/// <returns>return list</returns>
|
|
public List<DealerModel> GetNonUserDealersList()
|
|
{
|
|
try
|
|
{
|
|
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User?Dealer=tt&NonUser=bbbb", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("UserId", _LoginUserId);
|
|
return client.Execute<List<DealerModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetNonUserDealersList", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to add new user
|
|
/// </summary>
|
|
/// <param name="model">user inventory model</param>
|
|
/// <param name="userType">user type either vecv user or non-vecv user</param>
|
|
/// <returns>return model</returns>
|
|
public UserCreateModel GetUserModel(UserInventory model, string userType)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User?NewUser=new", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("FirstName", model.FirstName);
|
|
request.AddParameter("LastName", "");
|
|
request.AddParameter("UserName", model.UserName);
|
|
//request.AddParameter("AuthEngineId", model.UserName);
|
|
request.AddParameter("AuthEngineId", model.UserName);
|
|
request.AddParameter("Designation", model.Designation);
|
|
request.AddParameter("ObjectId", model.ObjectId);
|
|
|
|
//check user tupe
|
|
if (userType == "user")
|
|
{
|
|
request.AddParameter("OrganizationId", model.OrganizationId);
|
|
}
|
|
else
|
|
{
|
|
request.AddParameter("OrganizationId", model.OrganizationName);
|
|
}
|
|
request.AddParameter("City", model.City);
|
|
request.AddParameter("State", model.StateName);
|
|
request.AddParameter("Region", model.Region);
|
|
request.AddParameter("Language", model.Language);
|
|
request.AddParameter("TimeZoneId", _TimeZoneId);
|
|
request.AddParameter("VehicleTagging", model.VehicleTagging);
|
|
return client.Execute<UserCreateModel>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetUserModel", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get users list based on user type, vecv or non-vecv
|
|
/// </summary>
|
|
/// <param name="userType">user type either vecv user or non-vecv user</param>
|
|
/// <returns>return list</returns>
|
|
public List<UserCreateModel> GetUserList(string userType)
|
|
{
|
|
try
|
|
{
|
|
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
|
|
_timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString();
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User?User=tt&Dealer=dd&UserType=" + userType, Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("UserId", _LoginUserId);
|
|
request.AddParameter("UtcMinute", _timeOffSetMinutes);
|
|
return client.Execute<List<UserCreateModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetUserList", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get user's details based on user name
|
|
/// </summary>
|
|
/// <param name="UserName">user name</param>
|
|
/// <returns>return list</returns>
|
|
public List<UserCreateModel> GetUserDetail(string UserName)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("UserName", UserName);
|
|
return client.Execute<List<UserCreateModel>>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetUserDetail", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Post method to get login user's organization details user name wise
|
|
/// </summary>
|
|
/// <param name="UserName">Login user's name</param>
|
|
/// <returns>Returns list of user details</returns>
|
|
public UserCreateModel GetUserOrganizationDetails(string UserName)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("UserName", UserName);
|
|
return client.Execute<UserCreateModel>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetUserOrganizationDetails", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region add deler principal
|
|
|
|
|
|
/// <summary>
|
|
/// Post method to add new Dealer Principal User
|
|
/// </summary>
|
|
/// <param name="model">Dealer Principle Create Model</param>
|
|
/// <param name="userType">user type principleDealer</param>
|
|
/// <param name="action">action either insert or update</param>
|
|
/// <returns>return model</returns>
|
|
public DealerPrincipleCreateModel GetDealerPrincipleModel(UserInventory model, string userType, string action)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/Dealer?DealerDetail=principledealer", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("DealerId", (action.ToLower() == "update" || action.ToLower() == "delete") ? model.ObjectId : "");
|
|
request.AddParameter("PrincipalDealerName", model.FirstName);
|
|
request.AddParameter("DealerDealerName", "");
|
|
//request.AddParameter("AuthEngineId", model.UserName);
|
|
request.AddParameter("UserName", model.UserName);
|
|
request.AddParameter("Designation", model.Designation);
|
|
request.AddParameter("DealerOrganizationId", model.OrganizationId);
|
|
request.AddParameter("DealerCity", model.City);
|
|
request.AddParameter("DealerState", model.StateName);
|
|
if (action.ToLower() == "delete")
|
|
{
|
|
request.AddParameter("IsDeleted", model.IsDealerDeleted);
|
|
}
|
|
else
|
|
{
|
|
request.AddParameter("IsDeleted", "");
|
|
}
|
|
|
|
request.AddParameter("DealerContactNo", model.PrincipleDealerContactNo);
|
|
request.AddParameter("IsParent", model.IsPrincipleDealer);
|
|
request.AddParameter("DealerChildList", model.DealerChildList);
|
|
request.AddParameter("Operation", (action.ToLower() == "update" || action.ToLower() == "delete") ? "update" : action);
|
|
request.AddParameter("TimeZoneId", _TimeZoneId);
|
|
request.AddParameter("IsDealerDeleted", model.IsDealerDeleted);
|
|
return client.Execute<DealerPrincipleCreateModel>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetDealerPrincipleModel", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#region Get dealer principal
|
|
|
|
/// <summary>
|
|
/// Get dealer Principal Details
|
|
/// </summary>
|
|
/// <param name="sDealerId">Dealer Principal Id</param>
|
|
/// <param name="GetDetailsOf">Type of user either a child dealer or dealer principal</param>
|
|
/// <returns>return model</returns>
|
|
public DealerPrincipleCreateModel GetDealerPrincipalCompleteDetail(string sDealerId, string GetDetailsOf)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/Dealer?DealerDetail=" + GetDetailsOf, Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("DealerId", sDealerId);
|
|
return client.Execute<DealerPrincipleCreateModel>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("InventorRepository_GetDealerCompleteDetail", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region add vota dealer from eos web app
|
|
|
|
////add dealer user in vota app
|
|
//public UserCreateModel GetVotaUserModel(UserInventory model, string userType)
|
|
//{
|
|
// try
|
|
// {
|
|
// var client = new RestSharp.RestClient("http://localhost:1728/");
|
|
// var request = new RestRequest("Api/User?NewUser=new", Method.POST);
|
|
// request.AddParameter("Token", _securityToken);
|
|
// request.AddParameter("FirstName", model.FirstName);
|
|
// request.AddParameter("LastName", "");
|
|
// request.AddParameter("UserName", model.UserName);
|
|
// //request.AddParameter("AuthEngineId", model.UserName);
|
|
// request.AddParameter("AuthEngineId", model.UserName);
|
|
// request.AddParameter("Designation", model.Designation);
|
|
// request.AddParameter("ObjectId", model.ObjectId);
|
|
|
|
// //check user tupe
|
|
// if (userType == "user")
|
|
// {
|
|
// request.AddParameter("OrganizationId", model.OrganizationId);
|
|
// }
|
|
// else
|
|
// {
|
|
// request.AddParameter("OrganizationId", model.OrganizationName);
|
|
// }
|
|
// request.AddParameter("City", model.City);
|
|
// request.AddParameter("State", model.StateName);
|
|
// request.AddParameter("Region", model.Region);
|
|
// request.AddParameter("Language", model.Language);
|
|
// request.AddParameter("TimeZoneId", _TimeZoneId);
|
|
// request.AddParameter("VehicleTagging", model.VehicleTagging);
|
|
// return client.Execute<UserCreateModel>(request).Data;
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// objLog.ErrorLogFile("UserInventoryRepository_GetUserModel", ex.Message, path, errorlogtf);
|
|
// throw ex;
|
|
// }
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region User CRUD
|
|
|
|
/// <summary>
|
|
/// Post method to add new user
|
|
/// </summary>
|
|
/// <param name="model">user inventory model</param>
|
|
/// <param name="userType">user type either vecv user or non-vecv user</param>
|
|
/// <returns>return model</returns>
|
|
public UserCreateModel EditDeleteUserModel(UserInventory model, string userType)
|
|
{
|
|
try
|
|
{
|
|
var client = new RestSharp.RestClient(_RestClientUrl);
|
|
var request = new RestRequest("Api/User?User=update&UpdateDeleteUser=update", Method.POST);
|
|
request.AddParameter("Token", _securityToken);
|
|
request.AddParameter("FirstName", model.FirstName);
|
|
request.AddParameter("LastName", "");
|
|
request.AddParameter("UserName", model.UserName);
|
|
request.AddParameter("AuthEngineId", model.UserName);
|
|
request.AddParameter("Designation", model.Designation);
|
|
request.AddParameter("ObjectId", model.ObjectId);
|
|
|
|
//check user tupe
|
|
if (userType == "user")
|
|
{
|
|
request.AddParameter("OrganizationId", model.OrganizationId);
|
|
}
|
|
else
|
|
{
|
|
request.AddParameter("OrganizationId", (model.IsDeleted == true) ? model.OrganizationId : model.OrganizationName);
|
|
}
|
|
request.AddParameter("City", model.City);
|
|
request.AddParameter("State", model.StateName);
|
|
request.AddParameter("Region", model.Region);
|
|
request.AddParameter("Language", model.Language);
|
|
request.AddParameter("TimeZoneId", _TimeZoneId);
|
|
request.AddParameter("VehicleTagging", model.VehicleTagging);
|
|
request.AddParameter("IsDeleted", model.IsDeleted);
|
|
return client.Execute<UserCreateModel>(request).Data;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
objLog.ErrorLogFile("UserInventoryRepository_GetUserModel", ex.Message, path, errorlogtf);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |