using APT.Infrastructure.Core;
using APT.BaseData.Domain.Entities.FM;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using APT.Utility;
using APT.BaseData.Domain.ApiModel.FM;
using Newtonsoft.Json;
using APT.BaseData.Domain.ApiModel.Platform;
using APT.BaseData.Domain.Entities;
namespace APT.FM.WebApi.Controllers.Api.FM
{
	/// 
	/// 企业基本信息
	/// 
	[Route("api/FM/FMBaseInfo")]
	public class BaseInfoController : AuthorizeApiController
	{
		/// 
		/// 获得单条实体数据
		/// 
		/// 
		/// 
		[HttpPost, Route("GetBaseInfo")]
		public JsonActionResult GetBaseInfo([FromBody] KeywordFilter filter)
		{
			return WitEntity(null, filter);
		}
		/// 
		/// 获得单条实体数据
		/// 
		/// 
		/// 
		[HttpPost, Route("PostComPanyForm")]
		public JsonActionResult PostComPanyForm([FromBody]ComPanyModel entity)
        {
			return SafeExecute(() =>
            {
                if (entity != null)
                {
                    if (entity.BaseInfo == null)
                        this.ThrowError("040010");
                    if (entity.BaseAdd == null)
                        this.ThrowError("040011");
                    if (entity.BaseEnergy == null)
                        this.ThrowError("040012");
                    this.UnifiedCommit(() =>
                    {
                        this.UpdateEntityNoCommit(entity.BaseInfo);
                        this.UpdateEntityNoCommit(entity.BaseAdd);
                        this.UpdateEntityNoCommit(entity.BaseEnergy);
                    });
                }
                else
                    this.ThrowError("040013");
                return true;
            });
        }
    }
}