namespace VECV_WebApi.Models.User { #region Namespaces using DBHelper; using LoggingHelper; using Npgsql; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Web; using VECV_WebApi.Models.Authorization; #endregion #region Repository Class /// /// This class contain methods releted to user management /// public class UserRepository { #region Global Variables /// /// 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 error log file path available to this class /// string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]); /// /// making the Database connection string available to this class /// private string _connStr; /// /// making User Model object available to this class /// UserModel objUserModel; /// /// making Authentication Repository object available to this class /// AuthenticationRepository objAuthorization; #endregion #region Contructors /// /// Default constructor intialize connection string of vecv database /// public UserRepository(string connString) { this._connStr = connString; } #endregion #region API Methods /// /// To get user detail user name wise /// /// Represent object of usermodel class contain user name /// status and user detail user name wise public UserModel GetUserDetailUserNameWise(UserModel model) { objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inusername ", model.UserName); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_user_details_user_wise"], nSqlParam); if (ds.Tables[0].Rows[0]["id"].ToString().Trim() != null && ds.Tables[0].Rows[0]["id"].ToString().Trim() != "") { //added on 19-11-2020 start if (ds.Tables[0].Rows[0]["is_deleted"].ToString() == "True") { objUserModel.Status = "0"; objUserModel.Message = "User is not exist"; } //added on 19-11-2020 end else { objUserModel.Status = "1"; objUserModel.AuthEngineId = ds.Tables[0].Rows[0]["auth_engine_id"].ToString(); objUserModel.City = ds.Tables[0].Rows[0]["city"].ToString(); objUserModel.Designation = ds.Tables[0].Rows[0]["designation"].ToString(); objUserModel.DisplayId = ds.Tables[0].Rows[0]["display_id"].ToString(); objUserModel.DisplayName = ds.Tables[0].Rows[0]["display_name"].ToString(); objUserModel.Language = ds.Tables[0].Rows[0]["language"].ToString(); //objUserModel.Message = ds.Tables[0].Rows[0][""].ToString(); objUserModel.ObjectId = ds.Tables[0].Rows[0]["object_id"].ToString(); objUserModel.OffsetInMinute = Convert.ToDouble(ds.Tables[0].Rows[0]["offset_in_minutes"].ToString()); objUserModel.OrganizationAlias = ds.Tables[0].Rows[0]["organization_alias"].ToString(); objUserModel.OrganizationCity = ds.Tables[0].Rows[0]["organization_city"].ToString(); objUserModel.OrganizationColor = ds.Tables[0].Rows[0]["color"].ToString(); objUserModel.OrganizationCountry = ds.Tables[0].Rows[0]["asorganization_country"].ToString(); objUserModel.OrganizationDepth = ds.Tables[0].Rows[0]["depth"].ToString(); objUserModel.OrganizationDescription = ds.Tables[0].Rows[0]["organization_description"].ToString(); objUserModel.OrganizationId = Convert.ToInt32(ds.Tables[0].Rows[0]["organization_id"].ToString()); objUserModel.OrganizationName = ds.Tables[0].Rows[0]["organization_name"].ToString(); objUserModel.OrganizationPath = ds.Tables[0].Rows[0]["path"].ToString(); objUserModel.OrganizationRegion = ds.Tables[0].Rows[0]["organization_region"].ToString(); objUserModel.OrganizationState = ds.Tables[0].Rows[0]["organization_state"].ToString(); objUserModel.Region = ds.Tables[0].Rows[0]["region"].ToString(); objUserModel.State = ds.Tables[0].Rows[0]["state"].ToString(); objUserModel.TimeZoneId = Convert.ToInt64(ds.Tables[0].Rows[0]["timezone_id"].ToString()); objUserModel.UserId = Convert.ToInt64(ds.Tables[0].Rows[0]["id"].ToString()); objUserModel.UserName = ds.Tables[0].Rows[0]["user_name"].ToString(); objUserModel.VehicleTagging = ds.Tables[0].Rows[0]["vehicle_tagging"].ToString(); objUserModel.FirstName = ds.Tables[0].Rows[0]["first_name"].ToString(); objUserModel.LastName = ds.Tables[0].Rows[0]["last_name"].ToString(); objUserModel.StateId = ds.Tables[0].Rows[0]["state_id"].ToString(); objUserModel.CityId = ds.Tables[0].Rows[0]["city_id"].ToString(); } } else { objUserModel.Status = "0"; objUserModel.Message = "User is not exist"; } } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objUserModel; } catch (Exception Ex) { // write error log into file objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetUserDetailUserNameWise", Ex.Message, path, errorlogtf); return objUserModel; } } /// /// To create new user /// /// user info /// contain status 0 or 1 public UserModel InsertNewUserDetail(UserModel model) { objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[13]; nSqlParam[0] = new NpgsqlParameter("inauth_engine_id ", model.AuthEngineId); nSqlParam[1] = new NpgsqlParameter("inuser_name ", model.UserName); nSqlParam[2] = new NpgsqlParameter("indesignation ", model.Designation); nSqlParam[3] = new NpgsqlParameter("inobject_id ", model.ObjectId); nSqlParam[4] = new NpgsqlParameter("inorganization_id ", model.OrganizationId); nSqlParam[5] = new NpgsqlParameter("incity ", model.City); nSqlParam[6] = new NpgsqlParameter("instate ", model.State); nSqlParam[7] = new NpgsqlParameter("inregion ", model.Region); nSqlParam[8] = new NpgsqlParameter("inlanguage ", model.Language); nSqlParam[9] = new NpgsqlParameter("intimezone_id ", model.TimeZoneId); nSqlParam[10] = new NpgsqlParameter("invehicle_tagging ", model.VehicleTagging); nSqlParam[11] = new NpgsqlParameter("infirst_name ", model.FirstName); nSqlParam[12] = new NpgsqlParameter("inlast_name ", model.LastName); NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_users"], nSqlParam); // For Telematics Use // NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_users"]); objUserModel.Status = "1"; objUserModel.Message = ConfigurationManager.AppSettings["UserSuccessfulCreateionMessage"].ToString(); } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objUserModel; } catch (Exception Ex) { // write error log into file objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("InsertNewUserDetail", Ex.Message, path, errorlogtf); return objUserModel; } } /// /// To update or delte user /// /// user info /// contain status 0 or 1 public UserModel UpdateOrDeleteUserDetail(UserModel model) { objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[14]; nSqlParam[0] = new NpgsqlParameter("inauth_engine_id ", model.AuthEngineId); nSqlParam[1] = new NpgsqlParameter("inuser_name ", model.UserName); nSqlParam[2] = new NpgsqlParameter("indesignation ", model.Designation); nSqlParam[3] = new NpgsqlParameter("inobject_id ", model.ObjectId); if (model.OrganizationId == 0) { nSqlParam[4] = new NpgsqlParameter("inorganization_id", null); } else { nSqlParam[4] = new NpgsqlParameter("inorganization_id", model.OrganizationId); } nSqlParam[5] = new NpgsqlParameter("incity ", model.City); nSqlParam[6] = new NpgsqlParameter("instate ", model.State); nSqlParam[7] = new NpgsqlParameter("inregion ", model.Region); nSqlParam[8] = new NpgsqlParameter("inlanguage ", model.Language); nSqlParam[9] = new NpgsqlParameter("intimezone_id ", model.TimeZoneId); nSqlParam[10] = new NpgsqlParameter("invehicle_tagging ", model.VehicleTagging); nSqlParam[11] = new NpgsqlParameter("infirst_name ", model.FirstName); nSqlParam[12] = new NpgsqlParameter("inlast_name ", model.LastName); nSqlParam[13] = new NpgsqlParameter("inis_deleted ", model.IsDeleted); NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_users"], nSqlParam); // For Telematics Use // NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_users"]); objUserModel.Status = "1"; objUserModel.Message = ConfigurationManager.AppSettings["UserSuccessfulUpdateMessage"].ToString(); } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objUserModel; } catch (Exception Ex) { // write error log into file objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("UpdateOrDeleteUserDetail", Ex.Message, path, errorlogtf); return objUserModel; } } /// /// To get dealer detail user id wise /// /// user info /// status and dealer detail user id wise public List GetNonUserDealer(DealerModel model) { List objModel = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuserid ", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_are_not_user"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objModel = ds.Tables[0].AsEnumerable().Select(s => new DealerModel { DealerCity = s.Field("dealer_city"), DealerDefaultLatitude = s.Field("dealer_dealer_default_lattitude"), DealerDefaultLongitude = s.Field("dealer_dealer_default_longitude"), DealerId = s.Field("dealer_id"), DealerName = s.Field("dealer_dealer_name"), DealerState = s.Field("dealer_state"), OrganizationId = s.Field("dealer_organization_id") }).ToList(); } } else { DealerModel objdealer = new DealerModel(); objdealer.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); objModel.Add(objdealer); } return objModel; } catch (Exception Ex) { // write error log into file DealerModel objdealer = new DealerModel(); objdealer.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString(); objModel.Add(objdealer); objLog.ErrorLogFile("GetNonUserDealer", Ex.Message, path, errorlogtf); return objModel; } } /// /// To get user detail user id wise /// /// user info /// status and user detail user id wise public List GetUserListUserIdWise(UserModel model) { List objList = new List(); objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuserid ", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vecv_user"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["id"].ToString().Trim() != null && ds.Tables[0].Rows[0]["id"].ToString().Trim() != "") { objList = ds.Tables[0].AsEnumerable().Select(s => new UserModel { Status = "1", AuthEngineId = s.Field("auth_engine_id"), City = s.Field("city"), Designation = s.Field("designation"), DisplayId = s.Field("display_id"), DisplayName = s.Field("display_name"), Language = s.Field("language"), ObjectId = s.Field("object_id"), OffsetInMinute = s.Field("offset_in_minutes"), OrganizationAlias = s.Field("organization_alias"), OrganizationCity = s.Field("organization_city"), OrganizationColor = s.Field("color"), OrganizationCountry = s.Field("asorganization_country"), OrganizationDepth = s.Field("depth"), OrganizationDescription = s.Field("organization_description"), OrganizationId = s.Field("organization_id"), OrganizationName = s.Field("organization_name"), OrganizationPath = s.Field("path"), OrganizationRegion = s.Field("organization_region"), OrganizationState = s.Field("organization_state"), Region = s.Field("region"), State = s.Field("state"), TimeZoneId = s.Field("timezone_id"), UserId = s.Field("id"), UserName = s.Field("user_name"), VehicleTagging = s.Field("vehicle_tagging"), FirstName = s.Field("first_name"), LastName = s.Field("last_name"), IsDeleted = s.Field("is_deleted") }).ToList(); } } } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); objList.Add(objUserModel); } return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetUserListUserIdWise", Ex.Message, path, errorlogtf); objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objList.Add(objUserModel); return objList; } } public string GetUserAppVersion(string userid, string token) { string strsucess = ""; try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuserid ", userid); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_app_version_userwise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strsucess = Convert.ToString(ds.Tables[0].Rows[0]["sp_app_version_userwise"]); } } } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetDealerListUserIdWise", Ex.Message, path, errorlogtf); objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; } return strsucess; } public string updateUserAppVersion(string userid, string token, string app_version) { string strsucess = ""; try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inuserid ", userid); nSqlParam[1] = new NpgsqlParameter("inappversion ", app_version); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_app_version_userwise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { string appversion = Convert.ToString(ds.Tables[0].Rows[0]["sp_update_app_version_userwise"]); if (appversion == "" || appversion == null) { strsucess = "Invalid userid"; } else { strsucess = "success"; } } } } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetDealerListUserIdWise", Ex.Message, path, errorlogtf); objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; } return strsucess; } public string updateDealerAppVersion(string userid, string token, string app_version) { string strsucess = ""; try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inuserid ", userid); nSqlParam[1] = new NpgsqlParameter("inappversion ", app_version); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_app_version_dealerwise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { string appversion = Convert.ToString(ds.Tables[0].Rows[0]["sp_update_app_version_dealerwise"]); if (appversion == "" || appversion == null) { strsucess = "Invalid userid"; } else { strsucess = "success"; } } } } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetDealerListUserIdWise", Ex.Message, path, errorlogtf); objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; } return strsucess; } /// /// To get dealer detail user id wise /// /// user info /// status and dealer detail user id wise public List GetDealerListUserIdWise(UserModel model) { List objList = new List(); objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuserid ", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_user"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["id"].ToString().Trim() != null && ds.Tables[0].Rows[0]["id"].ToString().Trim() != "") { objList = ds.Tables[0].AsEnumerable().Select(s => new UserModel { Status = "1", AuthEngineId = s.Field("auth_engine_id"), City = s.Field("city"), Designation = s.Field("designation"), DisplayId = s.Field("display_id"), DisplayName = s.Field("display_name"), Language = s.Field("language"), ObjectId = s.Field("object_id"), OffsetInMinute = s.Field("offset_in_minutes"), OrganizationAlias = s.Field("organization_alias"), OrganizationCity = s.Field("organization_city"), OrganizationColor = s.Field("color"), OrganizationCountry = s.Field("asorganization_country"), OrganizationDepth = s.Field("depth"), OrganizationDescription = s.Field("organization_description"), OrganizationId = s.Field("organization_id"), OrganizationName = s.Field("organization_name"), OrganizationPath = s.Field("path"), OrganizationRegion = s.Field("organization_region"), OrganizationState = s.Field("organization_state"), Region = s.Field("region"), State = s.Field("state"), TimeZoneId = s.Field("timezone_id"), UserId = s.Field("id"), UserName = s.Field("user_name"), VehicleTagging = s.Field("vehicle_tagging"), FirstName = s.Field("first_name"), LastName = s.Field("last_name"), IsDeleted = s.Field("is_deleted") }).ToList(); } } } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); objList.Add(objUserModel); } return objList; } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetDealerListUserIdWise", Ex.Message, path, errorlogtf); objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objList.Add(objUserModel); return objList; } } public UserModel UpdateEPSStatus(UserModel model) { objUserModel = new UserModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inauth_engine_id ", model.AuthEngineId); nSqlParam[1] = new NpgsqlParameter("inEpsStatus", model.Status); NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_users_Eps"], nSqlParam); // For Telematics Use // NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_users"]); objUserModel.Status = "1"; objUserModel.Message = ConfigurationManager.AppSettings["UserSuccessfulUpdateMessage"].ToString(); } else { objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objUserModel; } catch (Exception Ex) { // write error log into file objUserModel.Status = "0"; objUserModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("UpdateOrDeleteUserDetail", Ex.Message, path, errorlogtf); return objUserModel; } } public string getEPSStatus(string authId) { string strmessage = ""; try { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inauth_engine_id", authId); DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_users_Eps_status"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_users_Eps_status"]); // strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias // errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias; } } catch (Exception Ex) { objLog.ErrorLogFile("usp_get_users_Eps_status", Ex.Message, path, errorlogtf); } return strmessage; } public string getEPSStatusByUserId(string userid) { string strmessage = ""; try { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", userid); DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_users_Eps_status_by_userid"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_users_Eps_status_by_userid"]); // strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias // errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias; } } catch (Exception Ex) { objLog.ErrorLogFile("usp_get_users_Eps_status_by_userid", Ex.Message, path, errorlogtf); } return strmessage; } #endregion } #endregion }