namespace VECV_WebApi.Controllers.Van
{
#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 System.Web.Script.Serialization;
using VECV_WebApi.Models.Van;
#endregion
///
/// This controller contain van releted apis
///
public class VanController : 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();
#endregion
#region APIs
///
/// To get van postion detail with van detail
///
/// van info
/// status and data
public List Post([FromBody]GetVanPositionModel model)
{
// write data log into file
List objList = new List();
VanModel objVanModel = new VanModel();
try
{
VanRepository objVanRepository = new VanRepository(_connStr);
objList = objVanRepository.GetVanPositionDetail(model);
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("VanController post method no parameter", Ex.Message, path, errorlogtf);
objVanModel.Status = "0";
objVanModel.Message = Ex.Message;
objList.Add(objVanModel);
}
return objList;
}
///
/// To get/insert van coverage
///
/// extra param to identify the api
/// extra param to identify the api
/// coverage info
/// status and data
public InsertGetVanPositionCoverage Post([FromUri]string InsertGetVanPosition, [FromUri]string InsertGetVanPosition1, [FromBody]InsertGetVanPositionCoverage model)
{
// write data log into file
InsertGetVanPositionCoverage objList = new InsertGetVanPositionCoverage();
try
{
VanRepository objVanRepository = new VanRepository(_connStr);
JavaScriptSerializer jss = new JavaScriptSerializer();
model.Coverage = jss.Deserialize>(model.CoverageJson);
objList = objVanRepository.InsertGetVanPosition(model);
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("VanController post method no parameter", Ex.Message, path, errorlogtf);
objList.Status = "0";
objList.Message = Ex.Message;
}
return objList;
}
///
/// To update van postion detail/ van coverage
///
/// extra param to identify the api
/// extra param to identify the api
/// status and data
public GetVanPositionModel post([FromUri]string updateVanPosition, [FromBody]GetVanPositionModel model)
{
// write data log into file
GetVanPositionModel objModel = new GetVanPositionModel();
try
{
VanRepository objVanRepository = new VanRepository(_connStr);
List objList = new List();
JavaScriptSerializer jss = new JavaScriptSerializer();
objList = jss.Deserialize>(model.VanListJson);
model.VanList = objList;
objModel = objVanRepository.UpdateVanPositionDetail(model);
}
catch (Exception Ex)
{
// write error log into file
objLog.ErrorLogFile("VanController post method with one parameter", Ex.Message, path, errorlogtf);
objModel.State = "0";
objModel.Message = Ex.Message;
}
return objModel;
}
#endregion
}
}