namespace VECV_WebApi.Controllers.Feedback
{
#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.FeedBack;
#endregion
//This controller contain feed back releted api
public class FeedBackController : ApiController
{
#region Global Variable
///
/// 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 the Database connection string available to this class
///
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
///
/// making Feedback Repository object available to this class
///
public FeedBackRepository objFeedBackRepo;
#endregion
///
/// To perform ticket feedback related operations
///
/// feedback ticket info
/// feedback status and data
public FeedBackModel post([FromBody]FeedBackModel model,[FromUri]string Type)
{
FeedBackModel objModel = new FeedBackModel();
try
{
objFeedBackRepo = new FeedBackRepository(_connStr);
// Insert Feedback details.
if (Type.ToLower().Trim() == "insert")
{
objModel = objFeedBackRepo.InsertFeedBackForTicket(model);
}
// Get feedback details.
else if (Type.ToLower().Trim() == "get")
{
objModel = objFeedBackRepo.GetTicketFeedBackAndOtherInfo(model);
}
// Get feedback history.
else if (Type.ToLower().Trim() == "gethistory")
{
objModel = objFeedBackRepo.GetTicketFeedBackHistory(model);
}
//added on 30-04-2020
else if (Type.ToLower().Trim() == "getcustomerfeedbackhistory")
{
objModel = objFeedBackRepo.GetCustomerFeedBackHistory(model);
}
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("InsertFeedBackForTicket global controller", Ex.Message, path, errorlogtf);
objModel.Status = "0";
objModel.Message = Ex.Message;
}
return objModel;
}
///
/// To perform ticket feedback related operations
///
/// feedback ticket info
/// feedback status and data
public FeedBackModel post([FromBody]FeedBackModel model, [FromUri]string Type, [FromUri]string Type2)
{
FeedBackModel objModel = new FeedBackModel();
try
{
objFeedBackRepo = new FeedBackRepository(_connStr);
// Insert Feedback details.
if (Type.ToLower().Trim() == "insert")
{
objModel = objFeedBackRepo.InsertFeedBackForCustomerTicket(model);
}
// Get feedback details.
else if (Type.ToLower().Trim() == "get")
{
objModel = objFeedBackRepo.GetTicketFeedBackAndOtherInfo(model);
}
// Get feedback history.
else if (Type.ToLower().Trim() == "gethistory")
{
objModel = objFeedBackRepo.GetTicketFeedBackHistory(model);
}
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("InsertFeedBackForTicket global controller", Ex.Message, path, errorlogtf);
objModel.Status = "0";
objModel.Message = Ex.Message;
}
return objModel;
}
}
}