public async Task SaveDocument(apec_khktdocs_document document) { try { if (document.id != 0) { var entity = await _documentRepository.GetByIdAsync(document.id).ConfigureAwait(false); entity.document_name = document.document_name; entity.stage = document.stage; entity.document_description = document.document_description; entity.created_user = document.created_user; entity.status = document.status; entity.approve_date = document.approve_date; entity.document_extension = document.document_extension; entity.document_folder_id = document.document_folder_id; entity.modified_date = document.modified_date; entity.document_receiver = document.document_receiver; entity.document_agency = document.document_agency; await _documentRepository.UpdateAsync(entity).ConfigureAwait(false); return; } var username = await _userRepository.GetUsersByUserName(document.approver).ConfigureAwait(false); var sender = await _userRepository.GetUsersByUserName(document.created_user).ConfigureAwait(false); var folder = await _doctypeRepository.GetByIdAsync(document.document_folder_id).ConfigureAwait(false); MailSenderDTOs mail = new MailSenderDTOs { approver = username.display_name, requester = document.created_user, folder = folder.text, docname = document.document_name, docdate = document.created_date, note = document.document_description, link = "http://docs.apecgroup.net/Home/Index?folderid=" + document.document_folder_id, approverMail = username.email, sendermail = sender.email, status = GetDocDesEnum(document.status) }; await _documentRepository.SaveDocument(document).ConfigureAwait(false); await _documentRepository.SendMail(mail).ConfigureAwait(false); } catch (Exception e) { throw e; } }
public async Task <IEnumerable <apec_khktdocs_folder> > GetChildFoldersById(string id) { List <apec_khktdocs_folder> lst = new List <apec_khktdocs_folder>(); string where = $"where parent = '{id}'"; var lstFolders = await _doctypeRepository.SelectQuery(where); if (lstFolders.Count() != 0) { foreach (var item in lstFolders) { lst.AddRange(await GetChildFoldersById(item.id.ToString())); } } var folder = await _doctypeRepository.GetByIdAsync(int.Parse(id)); lst.Add(folder); return(lst); }