59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using APT.BaseData.Domain.Entities.OP;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Core;
							 | 
						|||
| 
								 | 
							
								using APT.Migrations;
							 | 
						|||
| 
								 | 
							
								using APT.Utility;
							 | 
						|||
| 
								 | 
							
								using Microsoft.AspNetCore.Http;
							 | 
						|||
| 
								 | 
							
								using Microsoft.AspNetCore.Mvc;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Threading.Tasks;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace APT.OP.WebApi.Controllers.Api
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    [Route("api/OP/TenantDomain")]
							 | 
						|||
| 
								 | 
							
								    public class TenantDomain : AuthorizeApiController<T_OP_TENANT>
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 更新
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="entity"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("FullUpdate")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> FullUpdate([FromBody] T_OP_TENANT entity)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<bool>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var orgFilter = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                orgFilter.IgnoreOrgRule = true;
							 | 
						|||
| 
								 | 
							
								                T_FM_ORGANIZATION tenantOrg = new T_FM_ORGANIZATION();
							 | 
						|||
| 
								 | 
							
								                var targetDB = this.GetEntities<T_OP_TENANT_DB_CONN>(x => x.ID == entity.DB_CONN_ID, orgFilter).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								                if (targetDB != null && !string.IsNullOrEmpty(targetDB.DB_CONN))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var Conn = targetDB.DB_CONN;
							 | 
						|||
| 
								 | 
							
								                    using (var context = new MigrationContext(Conn))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        tenantOrg = context.GetEntities<T_FM_ORGANIZATION>(x => x.ID == entity.ID, null).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								                        tenantOrg.ENABLE_STATUS = entity.ENABLE_STATUS;
							 | 
						|||
| 
								 | 
							
								                        context.UpdateEntity(tenantOrg);
							 | 
						|||
| 
								 | 
							
								                        context.SaveChanges();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                var org = this.GetEntities<T_FM_ORGANIZATION>(x => x.ID == entity.ID, orgFilter).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								                org.ENABLE_STATUS = entity.ENABLE_STATUS;
							 | 
						|||
| 
								 | 
							
								                var domains = entity.Nav_Domains;
							 | 
						|||
| 
								 | 
							
								                entity.Nav_Domains = null;
							 | 
						|||
| 
								 | 
							
								                this.UnifiedCommit(() =>
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.UpdateEntityNoCommit(entity);
							 | 
						|||
| 
								 | 
							
								                    this.UpdateEntityNoCommit(org);
							 | 
						|||
| 
								 | 
							
								                    if (domains != null && domains.Any())
							 | 
						|||
| 
								 | 
							
								                        this.BantchSaveEntityNoCommit(domains);
							 | 
						|||
| 
								 | 
							
								                });
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return true;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |