Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
        }