public static Document SaveDocument(this RequestElement requestElement, string uploadFolder) { var document = DocumentServices.GetByProvinceID(requestElement.DocumentID); if (document == null) { document = requestElement.ToDocument(); DocumentServices.Create(document); if (requestElement.DanhSachFile != null) { foreach (var docFile in requestElement.DanhSachFile.Where(r => r?.Content != null && !string.IsNullOrEmpty(r.FileName))) { DocumentFileServices.CreateDocumentFile(document, docFile.Content, docFile.FileName, uploadFolder); } } } else { document.SignerName = requestElement.SignerName; document.DocumentCode = requestElement.DocumentCode; document.MainContent = requestElement.MainContent; document.ReleaseDate = requestElement.ReleasedDate; DocumentServices.Update(document); } return(document); }
public static Document ToDocument(this RequestElement requestElement) { return(new Document { DocumentCategoryID = requestElement.DocumentCategoryID, SignerName = requestElement.SignerName, DocumentCode = requestElement.DocumentCode, MainContent = requestElement.MainContent, ReleaseDate = requestElement.ReleasedDate, ProvinceDocumentID = requestElement.DocumentID }); }
public static Request SaveRequest(this RequestElement requestElement, string uploadFolder) { var request = RequestServices.GetByProvinceID(requestElement.RequestID); if (request == null || request.RequestID <= 0) { var document = requestElement.SaveDocument(uploadFolder); request = requestElement.ToRequest(); request.DocumentID = document.DocumentID; RequestServices.Create(request); } else { if (requestElement.IsDeleted) { RequestServices.Delete(request.RequestID, shiftDelete: true); } else { request.Status = requestElement.Status; request.RequiredDate = requestElement.RequiredDate; request.FinishedOnDate = requestElement.FinishedOnDate; request.RequestContent = requestElement.RequestContent; request.IsDeleted = requestElement.IsDeleted; RequestServices.Update(request); if (request.IsAssignPerform) { foreach (Perform perform in request.Performs) { if (request.Status <= 1 && perform.Status == 2) { perform.Status = request.Status; PerformServices.Update(perform); } else if (request.Status == 2 && perform.Status != 2) { perform.Status = 2; perform.FinishedOnDate = request.FinishedOnDate; PerformServices.Update(perform); } } } } } return(request); }
public static Request ToRequest(this RequestElement requestElement) { var request = new Request(); request.ProvinceRequestID = requestElement.RequestID; request.ProvincePerformID = requestElement.PerformID; request.Status = requestElement.Status; request.RequiredDate = requestElement.RequiredDate; request.FinishedOnDate = requestElement.FinishedOnDate; request.RequestContent = requestElement.RequestContent.Trim(); request.IsProvinceRequest = true; request.RequesterName = requestElement.SignerName; return(request); }