123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- using AutoMapper;
- using Ropin.Inspection.Common.Accessor.Interface;
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Repository.Interface;
- using Ropin.Inspection.Service.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Service
- {
- public class TsysOrganizeService : ITsysOrganizeService
- {
- private readonly ITsysOrganizeRepository _repository;
- private readonly IMapper _mapper;
- private readonly IClaimsAccessor _claims;
- public TsysOrganizeService(IClaimsAccessor claims, ITsysOrganizeRepository repository, IMapper mapper)
- {
- _repository = repository;
- _mapper = mapper;
- _claims = claims;
- }
- public async Task CreateOneAsync(TsysOrganizeViewModel viewModel)
- {
- var content = _mapper.Map<TSYS_Org>(viewModel);
- //content.G_ID = Guid.NewGuid();
- //content.G_CreateBy = _claims.ApiUserId;
- //content.D_CreateOn = DateTime.Now;
- //content.G_LastUpdatedBy = _claims.ApiUserId;
- //content.D_LastUpdatedOn = DateTime.Now;
- //content.C_Status = "1";
- _repository.Create(content);
- var result = await _repository.SaveAsync();
- //if (!result)
- //{
- // throw new Exception("创建失败");
- //}
- }
- public async Task CreateAsync(TsysOrganizeCreateViewModel viewModel)
- {
- var content = _mapper.Map<TSYS_Org>(viewModel);
- if (content.C_ParentCode.Equals(Guid.Empty)|| content.C_ParentCode == null)
- {
- if (string.IsNullOrEmpty(viewModel.C_LicenseCode))
- {
- throw new Exception("许可证编号不可以为空值");
- }
- if (string.IsNullOrEmpty(viewModel.C_Type))
- {
- throw new Exception("类型不可以为空值");
- }
- content.K_ID = _repository.GetMaxKid() + 1;
- content.C_Level = content.K_ID.ToString();
- content.C_LName = content.C_Name;
- content.C_LicenseCode = viewModel.C_LicenseCode;
- content.C_Type = viewModel.C_Type;
- }
- else
- {
- TsysOrganizeViewModel parentOrg = await GetByCodeAsync(content.C_ParentCode);
- if (parentOrg == null) throw new Exception("没有父节点数据");
- //content.C_LName = string.IsNullOrEmpty(content.C_LName) ? content.C_SName : parentOrg.C_LName + "/" + content.C_Name;
- //content.C_Level = string.IsNullOrEmpty(content.C_LName) ? "1" : (content.C_Level + "." + (content.C_LName.Split('/').Length + 1).ToString());
- content.C_LName = parentOrg.C_LName + "/" + content.C_Name;
- int kid = _repository.GetMaxKid() +1;
- content.C_Level = parentOrg.C_Level + "." + (kid).ToString();
- content.C_Type = parentOrg.C_Type;
- content.C_LicenseCode = parentOrg.C_LicenseCode;
- }
- //content.C_LicenseCode = _claims.Linsence;
- content.C_Code = Guid.NewGuid();
- content.C_CreateBy = _claims.ApiUserId;
- content.D_CreateOn = DateTime.Now;
- //content.C_LastUpdatedBy = _claims.ApiUserId;
- //content.D_LastUpdatedOn = DateTime.Now;
- content.C_Status = "1";
- _repository.Create(content);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- }
- public async Task DeleteAsync(Guid id)
- {
- //var content = await _repository.GetByIdAsync(id);
- var v = await _repository.GetByConditionAsync(a => a.C_Code.Equals(id));
- var content = v.FirstOrDefault();
- if (content == null)
- {
- throw new Exception("没有此数据");
- }
- content.C_LastUpdatedBy = _claims.ApiUserId;
- content.D_LastUpdatedOn = DateTime.Now;
- content.C_Status = "0";
- _repository.Update(content);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("删除失败");
- }
- }
- public async Task<TsysOrganizeViewModel> GetByIdAsync(Guid id)
- {
- var content = await _repository.GetByConditionAsync(a=>a.C_Code.Equals(id));
- var contentDto = _mapper.Map<TsysOrganizeViewModel>(content.FirstOrDefault());
- return contentDto;
- }
- private async Task<TsysOrganizeViewModel> GetByCodeAsync(Guid? id)
- {
- var content = await _repository.GetByConditionAsync(a => a.C_Code.Equals(id));
- var contentDto = _mapper.Map<TsysOrganizeViewModel>(content.FirstOrDefault());
- return contentDto;
- }
- public Task<bool> IsExistAsync(Guid id)
- {
- throw new NotImplementedException();
- }
- public Task<int> UpdateOneAsync(TsysOrganizeViewModel viewModel, params string[] fields)
- {
- throw new NotImplementedException();
- }
- public async Task UpdateAsync(Guid id, TsysOrganizeUpdateViewModel updateModel)
- {
- //var content = await GetByIdAsync(id);
- var v = await _repository.GetByConditionAsync(a => a.C_Code.Equals(id));
- var content = v.FirstOrDefault();
- if (content == null)
- {
- throw new Exception("没有此组织");
- }
- if (content.C_ParentCode.Equals(Guid.Empty) && content.C_ParentCode != null)
- {
- TsysOrganizeViewModel parentOrg = await GetByCodeAsync(content.C_ParentCode);
- if (parentOrg == null) throw new Exception("没有父节点数据");
- content.C_LName = parentOrg.C_LName + "/" + content.C_Name;
- }
- else
- {
- content.C_LName = content.C_Name;
- }
- content.C_LastUpdatedBy = _claims.ApiUserId;
- content.D_LastUpdatedOn = DateTime.Now;
- _mapper.Map(updateModel, content, typeof(TsysOrganizeUpdateViewModel), typeof(TSYS_Org));
- _repository.Update(content);
- var result = await _repository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- }
- public async Task<List<TsysOrganizeTree>> GetOrganizeListTreeAsync()
- {
- var tree = await _repository.GetListTreeAsync(_claims.LicenseTypeCode, _claims.Linsence, _claims.OrganizeId,"1");
- return tree;
- }
- public async Task<List<TsysOrganizeTree>> GetListTreeAsync()
- {
- var tree = await _repository.GetListTreeAsync(_claims.LicenseTypeCode, _claims.Linsence, _claims.OrganizeId,null);
- return tree;
- }
- public async Task<TsysOrg> GetOrgsByAsync()
- {
- var tree = await _repository.GetOrgsByAsync(_claims.Linsence);
- return tree;
- }
-
- public async Task<List<TsysOrganizeTree>> GetByOrganizeCodeAsync(Guid id)
- {
- var tree = await _repository.GetByOrganizeCodeAsync(id);
- return tree;
- }
- }
- }
|