96 lines
3.5 KiB
C#
96 lines
3.5 KiB
C#
using DevExtreme.AspNet.Data;
|
|
using DevExtreme.AspNet.Mvc;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using OSS.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Net.Http.Formatting;
|
|
using System.Web.Http;
|
|
|
|
namespace OSS.Controllers
|
|
{
|
|
[Authorize]
|
|
[Route("api/CompanyShareholder/{action}", Name = "CompanyShareholder")]
|
|
public class CompanyShareholderApiController : ApiController
|
|
{
|
|
private OSSDBContext myContext = new OSSDBContext();
|
|
[HttpGet]
|
|
public HttpResponseMessage GetCompanyProfile(DataSourceLoadOptions loadOptions)
|
|
{
|
|
return Request.CreateResponse(DataSourceLoader.Load(myContext.CompanyShareholder, loadOptions));
|
|
}
|
|
|
|
[HttpGet]
|
|
public HttpResponseMessage GetCompanyShareholderByTIN(DataSourceLoadOptions loadOptions, string CompanyTIN)
|
|
{
|
|
return Request.CreateResponse(DataSourceLoader.Load(myContext.CompanyShareholder.Where(t => t.CompanyTIN == CompanyTIN && t.ShareStatus=="Active"), loadOptions));
|
|
}
|
|
|
|
[HttpPost]
|
|
public HttpResponseMessage AddCompanyShareholder(FormDataCollection form)
|
|
{
|
|
var values = form.Get("values");
|
|
JObject data = JObject.Parse(values);
|
|
var newCompanyShare = new CompanyShareholderExternal();
|
|
data["CreatedDate"] = DateTime.Now;
|
|
|
|
JsonConvert.PopulateObject(values, newCompanyShare);
|
|
Validate(newCompanyShare);
|
|
if (!ModelState.IsValid)
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState.GetFullErrorMessage());
|
|
myContext.CompanyShareholder.Add(newCompanyShare);
|
|
myContext.SaveChanges();
|
|
return Request.CreateResponse(HttpStatusCode.Created);
|
|
}
|
|
|
|
[HttpPut]
|
|
public HttpResponseMessage UpdateProfile(FormDataCollection form)
|
|
{
|
|
var key = Convert.ToString(form.Get("key"));
|
|
var values = form.Get("values");
|
|
var CompanyInfo = myContext.CompanyProfileExternal.First(o => o.CompanyTIN == key);
|
|
JObject data = JObject.Parse(values);
|
|
values = data.ToString();
|
|
JsonConvert.PopulateObject(values, CompanyInfo);
|
|
Validate(CompanyInfo);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState.GetFullErrorMessage());
|
|
}
|
|
else
|
|
{
|
|
myContext.SaveChanges();
|
|
|
|
return Request.CreateResponse(HttpStatusCode.OK);
|
|
}
|
|
}
|
|
|
|
|
|
[HttpPut]
|
|
public HttpResponseMessage UpdateShareholders(FormDataCollection form)
|
|
{
|
|
var key = Convert.ToString(form.Get("key"));
|
|
var values = form.Get("values");
|
|
var ShareholderInfo = myContext.CompanyShareholder.First(o => o.ShareholderID.ToString() == key);
|
|
JObject data = JObject.Parse(values);
|
|
values = data.ToString();
|
|
JsonConvert.PopulateObject(values, ShareholderInfo);
|
|
Validate(ShareholderInfo);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState.GetFullErrorMessage());
|
|
}
|
|
else
|
|
{
|
|
myContext.SaveChanges();
|
|
|
|
return Request.CreateResponse(HttpStatusCode.OK);
|
|
}
|
|
}
|
|
}
|
|
}
|