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 /// /// This class contain method releted to open and close ticket activity /// public class ActivityRepository { #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 Customer Repository object available to this class /// AuthenticationRepository objAuthorization; #endregion #region Contructors /// /// Default constructor intialize connection string of vecv_godata database /// public ActivityRepository(string connString) { this._connStr = connString; } #endregion #region API Methods /// /// To get open ticket activity ticket wise /// /// ticket info /// status and open ticket activity ticket wise public List GetOpenTicketActivityTicketWise(OpenTicketActivityTicketWiseModel model) { List objListModel = new List(); 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("id"), ActivityTicketsOpenCreatedBy = s.Field("activity_tickets_open_created_by"), ActivityTicketsOpenCreationTime = s.Field("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Remarks = s.Field("remarks"), TicketStatusAlias = s.Field("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("id"), ActivityTicketsOpenCreatedBy = s.Field("activity_tickets_open_created_by"), ActivityTicketsOpenCreationTime = s.Field("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Remarks = s.Field("remarks"), TicketStatusAlias = s.Field("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; } } /// /// To get close ticket activity ticket wise /// /// ticket info /// status and close tiket activity records public List GetCloseTicketActivityTicketWise(CloseTicketActivityTicketWiseModel model) { List objListModel = new List(); 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("id"), ActivityTicketsCloseCreatedBy = s.Field("activity_tickets_open_created_by"), ActivityTicketsCloseCreationTime = s.Field("activity_tickets_open_creation_time") != null ? Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("activity_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Remarks = s.Field("remarks"), TicketStatusAlias = s.Field("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 }