예제 #1
0
        public async Task <int> Handle(CreateAppendiceCommand request, CancellationToken cancellationToken)
        {
            Appendice appendice = request.ToAppendice();

            _context.Appendices.Add(appendice);
            return(await _context.SaveChangesAsync());
        }
        public async Task <int> Handle(DeleteAppendiceCommand request, CancellationToken cancellationToken)
        {
            Appendice appendice = _context.Appendices.FirstOrDefault(a => a.Id == request.Id);

            if (appendice != null)
            {
                Document document = _context.Documents.FirstOrDefault(d => d.Id == appendice.DocumentId || d.Code == appendice.RelateToDocuments);
                if (document != null)
                {
                    try
                    {
                        string filePath = $"{UploadFolderPath}/{appendice.FileName}";
                        File.Delete(filePath);
                    }
                    catch
                    {
                    }
                }
                _context.Appendices.Remove(appendice);
                return(await _context.SaveChangesAsync());
            }
            return(-1);
        }
        public async Task <int> Handle(DeleteAppendiceFileCommand request, CancellationToken cancellationToken)
        {
            Appendice appendice = await _context.Appendices.FirstOrDefaultAsync(a => !a.Deleted && a.Id == request.Id);

            if (!appendice.LinkFile.IsNullOrEmpty())
            {
                NameValueCollection query = HttpUtility.ParseQueryString(appendice.LinkFile);
                string filePath           = $"{UploadFolderPath}/{query.Get("sourcedoc")}";
                if (!filePath.IsNullOrEmpty())
                {
                    try
                    {
                        File.Delete(filePath);
                    }
                    catch
                    {
                    }
                }
            }

            appendice.FileName = string.Empty;
            appendice.LinkFile = string.Empty;
            return(await _context.SaveChangesAsync());
        }
예제 #4
0
        public async Task <int> Handle(UpdateAppendiceCommand request, CancellationToken cancellationToken)
        {
            Appendice appendice = await _context.Appendices.Where(a => a.Id == request.Id &&
                                                                  !a.Deleted).FirstOrDefaultAsync();

            if (appendice != null && appendice.Id > 0)
            {
                appendice.Approver        = request.Approver;
                appendice.CompanyCode     = request.CompanyCode;
                appendice.CompanyName     = request.CompanyName;
                appendice.DDCAudited      = request.DDCAudited;
                appendice.DepartmentCode  = request.DepartmentCode;
                appendice.DepartmentName  = request.DepartmentName;
                appendice.EffectiveDate   = request.EffectiveDate;
                appendice.AppendiceNumber = request.AppendiceNumber;

                if (request.Files != null && request.Files.Any())
                {
                    appendice.FileName = request.FileName;
                    appendice.LinkFile = request.LinkFile;
                }
                appendice.ModifiedBy         = request.ModifiedBy;
                appendice.ModifiedOn         = request.ModifiedOn;
                appendice.Module             = request.Module;
                appendice.Name               = request.Name;
                appendice.RelateToDocuments  = request.RelateToDocuments;
                appendice.ReviewDate         = request.ReviewDate;
                appendice.ReviewNumber       = request.ReviewNumber;
                appendice.ScopeOfApplication = request.ScopeOfApplication;
                appendice.ScopeOfDeloyment   = request.ScopeOfDeloyment;

                return(await _context.SaveChangesAsync());
            }

            return(appendice.Id);
        }
예제 #5
0
 public static GetAppendiceByIdDto ToGetAppendiceByIdDto(this Appendice entity)
 {
     return(entity.MapTo <Appendice, GetAppendiceByIdDto>());
 }
예제 #6
0
 public static SearchAppendicesByTokenPagedDto ToSearchAppendicesByTokenPagedDto(this Appendice entity)
 {
     return(entity.MapTo <Appendice, SearchAppendicesByTokenPagedDto>());
 }