protected async Task <List <FileProfile> > GetFileUploadMcreditAsync(int profileId, string mcId = null, string webRootPath = null) { var profile = await _rpMCredit.GetTemProfileByIdAsync(profileId); if (!profile.success || profile.data == null) { return(ToResponse <List <FileProfile> >(null, "Hồ sơ không tồn tại")); } if (string.IsNullOrWhiteSpace(profile.data.ProductCode)) { return(ToResponse <List <FileProfile> >(null, "Vui lòng chọn sản phẩm vay")); } if (string.IsNullOrWhiteSpace(profile.data.LocSignCode)) { return(ToResponse <List <FileProfile> >(null, "Vui lòng chọn địa điểm ký văn kiện")); } var data = await _svMcredit.GetFileUpload(new GetFileUploadRequest { Code = profile.data.ProductCode.Trim(), Id = "0", Loccode = profile.data.LocSignCode.Trim(), Issl = profile.data.IsAddr ? "1" : "0", Money = profile.data.LoanMoney.ToString().Replace(",0000", "") }); await _rpLog.InsertLog($"mcredit-GetFileUpload-{mcId}", data.Dump()); if (!data.success) { return(ToResponse <List <FileProfile> >(null, data.error)); } var uploadedFiles = new List <FileUploadModel>(); if (profileId > 0) { uploadedFiles = await _rpFile.GetFilesByProfileIdAsync((int)ProfileType.MCredit, profileId); } if (uploadedFiles == null) { uploadedFiles = new List <FileUploadModel>(); } var result = new List <FileProfile>(); var groups = data.data.Groups; foreach (var group in groups) { if (group.Documents == null) { continue; } foreach (var doc in group.Documents) { if (group.GroupId == 24 && doc.DocumentCode == "ElectricBill") { continue; } var files = uploadedFiles.Where(p => p.Key == doc.Id && p.MC_GroupId == group.GroupId); result.Add(new FileProfile { Id = doc.Id, FileKey = doc.Id, RootPath = webRootPath, IsRequire = group.Mandatory ? 1 : 0, Name = doc.DocumentName, DocumentId = doc.Id, GroupId = group.GroupId, GroupName = group.GroupName, IsRequireGroup = group.Mandatory, DocumentCode = doc.DocumentCode, MapBpmVar = doc.MapBpmVar, ProfileId = profileId, ProfileTypeId = (int)ProfileType.MCredit, DocumentName = doc.DocumentName, ProfileFiles = files.ToList(), AllowUpload = string.IsNullOrWhiteSpace(profile.data.MCId) }); } } result = result.OrderByDescending(p => p.IsRequire == 1).ToList(); return(result); }
public async Task <JsonResult> GetFileUpload(int profileId, int profileType = 3, string mcId = null) { var profile = null as MCredit_TempProfile; profile = await _rpMCredit.GetTemProfileById(profileId); if (profile == null) { return(ToJsonResponse(false, "Hồ sơ không tồn tại", new List <LoaiTaiLieuModel>())); } var code = profile.ProductCode != null?profile.ProductCode.Trim() : null; var Loccode = profile.LocSignCode != null?profile.LocSignCode.Trim() : null; var data = await _svMCredit.GetFileUpload(new GetFileUploadRequest { Code = code, Id = "0", Loccode = Loccode, Issl = profile.IsAddr ? "1" : "0", Money = profile.LoanMoney.ToString().Replace(",0000", "") }, GlobalData.User.IDUser); await _rpLog.InsertLog($"mcredit-GetFileUpload-{mcId}", data.Dump()); if (data == null || data.Groups == null) { return(ToJsonResponse(false, "Không thể lấy file", new List <LoaiTaiLieuModel>())); } var uploadedFiles = new List <FileUploadModel>(); if (profileId > 0) { uploadedFiles = await _rpTailieu.GetTailieuByHosoId(profile.Id, (int)HosoType.MCredit); } if (uploadedFiles == null) { uploadedFiles = new List <FileUploadModel>(); } var result = new List <LoaiTaiLieuModel>(); foreach (var group in data.Groups) { if (group.Documents == null) { continue; } foreach (var doc in group.Documents) { if (group.GroupId == 24 && doc.DocumentCode == "ElectricBill") { continue; } var files = uploadedFiles.Where(p => p.Key == doc.Id && p.MC_GroupId == group.GroupId); result.Add(new MCFileUpload { ID = doc.Id, BatBuoc = group.Mandatory ? 1 : 0, Ten = doc.DocumentName, DocumentId = doc.Id, GroupId = group.GroupId, DocumentCode = doc.DocumentCode, MapBpmVar = doc.MapBpmVar, ProfileId = profileId, ProfileTypeId = profileType, DocumentName = doc.DocumentName, Tailieus = files.ToList(), AllowUpload = string.IsNullOrWhiteSpace(profile.MCId) }); } } result = result.OrderByDescending(p => p.BatBuoc == 1).ToList(); return(ToJsonResponse(true, "", result)); }