EOS-WebAPI/Models/Activity/ActivityRepository.cs
Nidhi Bhargava d0ac8a7790 Code Commit
2025-09-04 17:30:22 +05:30

256 lines
11 KiB
C#

namespace VECV_WebApi.Models.Activity
{
#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;
using VECV_WebApi.Models.Ticket;
#endregion
#region Repository Class
/// <summary>
/// This class contain method releted to open and close ticket activity
/// </summary>
public class ActivityRepository
{
#region Global Variables
/// <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 error log file path available to this class
/// </summary>
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
/// <summary>
/// making the Database connection string available to this class
/// </summary>
private string _connStr;
/// <summary>
/// making Customer Repository object available to this class
/// </summary>
AuthenticationRepository objAuthorization;
#endregion
#region Contructors
/// <summary>
/// Default constructor intialize connection string of vecv_godata database
/// </summary>
public ActivityRepository(string connString)
{
this._connStr = connString;
}
#endregion
#region API Methods
/// <summary>
/// To get open ticket activity ticket wise
/// </summary>
/// <param name="model">ticket info</param>
/// <returns>status and open ticket activity ticket wise</returns>
public List<OpenTicketActivityTicketWiseModel> GetOpenTicketActivityTicketWise(OpenTicketActivityTicketWiseModel model)
{
List<OpenTicketActivityTicketWiseModel> objListModel = new List<OpenTicketActivityTicketWiseModel>();
OpenTicketActivityTicketWiseModel objModel = new OpenTicketActivityTicketWiseModel();
try
{
objModel.Status = "1";
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
string tStatue = "";
NpgsqlParameter[] nSqlParamstatus = new NpgsqlParameter[1];
nSqlParamstatus[0] = new NpgsqlParameter("inticket_id", model.TicketId);
DataSet dsstatus = new DataSet();
dsstatus = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_TicketStatus_By_TicketId"], nSqlParamstatus);
if (dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
{
tStatue = dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString();
}
if (tStatue == "open")
{
DataSet ds = new DataSet();
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
nSqlParam[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_activity_ticket_wise"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objListModel = ds.Tables[0].AsEnumerable().Select(s => new OpenTicketActivityTicketWiseModel
{
Id = s.Field<string>("id"),
ActivityTicketsOpenCreatedBy = s.Field<string>("activity_tickets_open_created_by"),
ActivityTicketsOpenCreationTime = s.Field<DateTime?>("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
Remarks = s.Field<string>("remarks"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
Status = "1"
}).ToList();
}
else
{
//objListModel.Add(new OpenTicketActivityTicketWiseModel
//{
// Status = "1",
// Message = ConfigurationManager.AppSettings["DataSetEmpty"].ToString()
//});
}
}
else
{
DataSet ds = new DataSet();
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
nSqlParam[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_close_ticket_activity_ticket_wise"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objListModel = ds.Tables[0].AsEnumerable().Select(s => new OpenTicketActivityTicketWiseModel
{
Id = s.Field<string>("id"),
ActivityTicketsOpenCreatedBy = s.Field<string>("activity_tickets_open_created_by"),
ActivityTicketsOpenCreationTime = s.Field<DateTime?>("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
Remarks = s.Field<string>("remarks"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
Status = "1"
}).ToList();
}
}
return objListModel;
}
else
{
objListModel.Add(new OpenTicketActivityTicketWiseModel
{
Status = "0",
Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString()
});
return objListModel;
}
}
catch (Exception Ex)
{
objListModel.Add(new OpenTicketActivityTicketWiseModel
{
Status = "0",
Message = Ex.Message
});
objLog.ErrorLogFile("GetOpenTicketActivityTicketWise", Ex.Message, path, errorlogtf);
return objListModel;
}
}
/// <summary>
/// To get close ticket activity ticket wise
/// </summary>
/// <param name="model">ticket info</param>
/// <returns>status and close tiket activity records</returns>
public List<CloseTicketActivityTicketWiseModel> GetCloseTicketActivityTicketWise(CloseTicketActivityTicketWiseModel model)
{
List<CloseTicketActivityTicketWiseModel> objListModel = new List<CloseTicketActivityTicketWiseModel>();
CloseTicketActivityTicketWiseModel objModel = new CloseTicketActivityTicketWiseModel();
try
{
objModel.Status = "1";
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
nSqlParam[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_close_ticket_activity_ticket_wise"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objListModel = ds.Tables[0].AsEnumerable().Select(s => new CloseTicketActivityTicketWiseModel
{
TicketsClosedId = s.Field<string>("id"),
ActivityTicketsCloseCreatedBy = s.Field<string>("activity_tickets_open_created_by"),
ActivityTicketsCloseCreationTime = s.Field<DateTime?>("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
Remarks = s.Field<string>("remarks"),
TicketStatusAlias = s.Field<string>("ticket_status_alias")
}).ToList();
}
return objListModel;
}
else
{
objListModel.Add(new CloseTicketActivityTicketWiseModel
{
Status = "0",
Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString()
});
return objListModel;
}
}
catch (Exception Ex)
{
objListModel.Add(new CloseTicketActivityTicketWiseModel
{
Status = "0",
Message = Ex.Message
});
objLog.ErrorLogFile("GetCloseTicketActivityTicketWise", Ex.Message, path, errorlogtf);
return objListModel;
}
}
public string getPreclosureReason(string ticketid)
{
string strmessage = "";
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", ticketid);
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_preclosure_reason_by_ticketId"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_preclosure_reason_by_ticketId"]);
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
}
return strmessage;
}
#endregion
}
#endregion
}