コード例 #1
0
        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);
        }
コード例 #2
0
 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
     });
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }