예제 #1
0
        protected override void CreateNewObject()
        {
            report = new Report
            {
                ReportContent = NoiDungThucHien.Text,
                PerformOnDate = ThoiGianThucHien.Text.ToDateTime(),
                RequestID     = Parameters.Pid,
                Status        = TrangThai.SelectedValue.ToInteger(),
                ReporterName  = Sessions.DisplayName,
                DepartmentID  = Sessions.DepartmentID
            };

            if (!string.IsNullOrEmpty(VanBanDaBaoCao.SelectedValue.Trim()))
            {
                ExchangeDocServiceSoapClient client = new ExchangeDocServiceSoapClient();
                client.Endpoint.Address = new System.ServiceModel.EndpointAddress(AppSettings.HSCV_Service);
                var document = client.GetVBDiByIDs(new ArrayOfString {
                    VanBanDaBaoCao.SelectedValue.Trim()
                }).SingleOrDefault();

                ReportServices.Create(report: report, performIds: ThucHien.GetSelectedValues(), fileContent: document?.FileDinhKems?.FirstOrDefault()?.DuLieu, fileName: document?.FileDinhKems?.FirstOrDefault()?.TenFileDinhKem, uploadFolder: AppSettings.UploadFolder, isStaffReport: report.Request.CoQuyenXacNhan, isSendToProvince: true);
            }
            else
            {
                ReportServices.Create(report: report, performIds: ThucHien.GetSelectedValues(), fileContent: FileDinhKem.PostedFile, fileName: FileDinhKem.PostedFile?.FileName, uploadFolder: AppSettings.UploadFolder, isStaffReport: report.Request.CoQuyenXacNhan, isSendToProvince: true);
            }

            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Nhập báo cáo thực hiện YKCD ({Sessions.DisplayName})", Type = "Nhập báo cáo", Source = AppSettings.AGENCY_NAME
            });

            Redirector.Redirect(ViewNames.Agency.ThongTinYKCD, "id", Parameters.Pid);
        }
예제 #2
0
        protected void btnSave_OnClick(object sender, EventArgs e)
        {
            var perform = PerformServices.GetById(Parameters.Id);

            if (perform != null)
            {
                var report = new Report
                {
                    RequestID     = perform.RequestID,
                    ReporterName  = Sessions.DisplayName,
                    ReportContent = BaoCaoThucHien.Text.Trim(),
                    Status        = TrangThai.SelectedValue.ToInteger(),
                    PerformOnDate = NgayHoanThanh.Text.ToDateTime(),
                    DepartmentID  = perform.DepartmentID
                };

                ReportServices.Create(report: report, performIds: new List <int> {
                    Parameters.Id
                }, fileContent: null, fileName: "", uploadFolder: AppSettings.UploadFolder, isStaffReport: true, isSendToAgency: true);

                ExceptionlessClient.Default.SubmitEvent(new Event {
                    Message = $"Chuyển trạng thái thực hiện của {perform.DepartmentName} thành {TrangThai.SelectedItem.Text.ToUpper()} ({Sessions.DisplayName})", Type = "Chuyển trạng thái YKCD", Source = AppSettings.AGENCY_NAME
                });

                Redirector.Redirect(ViewNames.SubAgency.ThongTinYKCD, "id", perform.RequestID);
            }
        }
예제 #3
0
        protected override void CreateNewObject()
        {
            report = new Report
            {
                ReportContent = NoiDungThucHien.Text,
                PerformOnDate = ThoiGianThucHien.Text.ToDateTime(),
                RequestID     = Parameters.Pid,
                Status        = TrangThai.SelectedValue.ToInteger(),
                CreatedByName = Sessions.DisplayName,
                AgencyID      = Sessions.AgencyID
            };

            List <long> performIds = null;

            if (Authenticator.IsUser)
            {
                performIds = DonViThucHien.GetSelectedValues().ConvertAll(i => (long)i);
            }
            else if (Authenticator.IsAgency)
            {
                performIds = new List <long> {
                    RequestServices.GetById(Parameters.Pid).Performs.First(p => p.AgencyID == Sessions.AgencyID).PerformID
                };
            }

            ReportServices.Create(report: report, performIds: performIds, fileContent: FileDinhKem.PostedFile, fileName: FileDinhKem.PostedFile.FileName, uploadFolder: AppSettings.UploadFolder, isStaffReport: Authenticator.IsUser);
            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Nhập báo cáo thực hiện YKCD ({Sessions.DisplayName})", Type = "Nhập báo cáo", Source = "YKCD_UBND"
            });
            Redirector.Redirect(ViewNames.Province.ThongTinYKCD, "id", Parameters.Pid);
        }
예제 #4
0
        protected override void UpdateObject()
        {
            request = RequestServices.GetById(Parameters.Id);

            if (request != null)
            {
                if (request.RequiredDate != ThoiHan.Text.ToDateTime())
                {
                    Report report = new Report
                    {
                        RequestID     = request.RequestID,
                        CreatedByName = Sessions.DisplayName,
                        ReportContent = $"Cập nhật thời hạn thực hiện từ ngày {request.RequiredDate.ToDateString()} thành ngày {ThoiHan.Text}",
                        Status        = request.Status,
                        PerformOnDate = DateTime.Now
                    };

                    ReportServices.Create(report: report, performIds: null, fileContent: null, fileName: "", uploadFolder: AppSettings.UploadFolder, isStaffReport: true);
                }

                request.RequestContent = NoiDungChiDao.Text.Trim();
                request.RequiredDate   = ThoiHan.Text.ToDateTime();

                RequestServices.Update(request, ChuyenVienTheoDoi.GetSelectedValues(), DonViThucHien.GetSelectedValues());

                ExceptionlessClient.Default.SubmitEvent(new Event {
                    Message = $"Cập nhật thông tin ykcd ({Sessions.DisplayName})", Type = "Cập nhật YKCD", Source = "YKCD_UBND"
                });

                Redirector.Redirect(ViewNames.Province.ThongTinVanBan, "id", request.DocumentID);
            }
        }
예제 #5
0
        public bool ReceiveReportFromSubAgency(string xmlDoc)
        {
            try
            {
                var serializer = new XmlSerializer(typeof(ReportList));

                using (var reader = new StringReader(xmlDoc))
                {
                    var xmlObj = (ReportList)serializer.Deserialize(reader);

                    foreach (var reportXml in xmlObj.Reports)
                    {
                        var perform = PerformServices.GetById(reportXml.PerformID);

                        if (reportXml != null)
                        {
                            var report = new Report
                            {
                                ReportContent = reportXml.ReportContent,
                                PerformOnDate = reportXml.PerformOnDate,
                                RequestID     = reportXml.RequestID,
                                Status        = reportXml.Status,
                                ReporterName  = reportXml.ReporterName,
                                DepartmentID  = perform.DepartmentID
                            };

                            if (reportXml.DanhSachFile != null && reportXml.DanhSachFile.Count() > 0)
                            {
                                ReportServices.Create(report, new List <int> {
                                    reportXml.PerformID.ToInteger()
                                }, reportXml.DanhSachFile[0]?.Content, reportXml.DanhSachFile[0]?.FileName, AppSettings.UploadFolder);
                            }
                            else
                            {
                                ReportServices.Create(report, new List <int> {
                                    reportXml.PerformID.ToInteger()
                                }, null, null, AppSettings.UploadFolder);
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex);
                return(false);
            }
        }
예제 #6
0
        public static void SaveReport(this ReportElement reportElement, string uploadFolder)
        {
            var request = RequestServices.GetByAgencyID(reportElement.RequestID);

            if (request.Reports.Select(r => r.ReportContent.Trim()).Contains(reportElement.ReportContent.Trim()))
            {
                var report = new Report
                {
                    ReportContent = reportElement.ReportContent,
                    PerformOnDate = reportElement.PerformOnDate,
                    RequestID     = request.RequestID,
                    Status        = reportElement.Status,
                    ReporterName  = reportElement.ReporterName
                };

                ReportServices.Create(report: report, performIds: null, fileContent: reportElement.DanhSachFile?.FirstOrDefault()?.Content, fileName: reportElement.DanhSachFile?.FirstOrDefault()?.FileName, uploadFolder: uploadFolder, isSendFromAgency: true);
            }
        }
예제 #7
0
        protected override void CreateNewObject()
        {
            report = new Report
            {
                ReportContent = NoiDungThucHien.Text,
                PerformOnDate = ThoiGianThucHien.Text.ToDateTime(),
                RequestID     = Parameters.Pid,
                Status        = TrangThai.SelectedValue.ToInteger(),
                ReporterName  = Sessions.DisplayName,
                DepartmentID  = Sessions.DepartmentID
            };

            ReportServices.Create(report: report, performIds: ThucHien.GetSelectedValues(), fileContent: FileDinhKem.PostedFile, fileName: FileDinhKem.PostedFile?.FileName, uploadFolder: AppSettings.UploadFolder, isStaffReport: report.Request.CoQuyenXacNhan, isSendToAgency: true);

            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Nhập báo cáo thực hiện YKCD ({Sessions.DisplayName})", Type = "Nhập báo cáo", Source = AppSettings.AGENCY_NAME
            });

            Redirector.Redirect(ViewNames.SubAgency.ThongTinYKCD, "id", Parameters.Pid);
        }
예제 #8
0
        protected void btnSave_OnClick(object sender, EventArgs e)
        {
            var perform = PerformServices.GetById(Parameters.Id);
            var report  = new Report();

            if (!string.IsNullOrEmpty(BaoCaoThucHien.Text.Trim()))
            {
                report = new Report
                {
                    RequestID     = perform.RequestID,
                    CreatedByName = Sessions.DisplayName,
                    ReportContent = BaoCaoThucHien.Text.Trim(),
                    Status        = TrangThai.SelectedValue.ToInteger(),
                    PerformOnDate = NgayHoanThanh.Text.ToDateTime(),
                    AgencyID      = perform.AgencyID
                };
            }
            else if (TrangThai.SelectedValue.ToInteger() != 2 && string.IsNullOrEmpty(BaoCaoThucHien.Text.Trim()))
            {
                report = new Report
                {
                    RequestID     = perform.RequestID,
                    CreatedByName = Sessions.DisplayName,
                    ReportContent = $"Chuyển trạng thái thực hiện của {perform.AgencyName} thành {TrangThai.SelectedItem.Text.ToUpper()}",
                    Status        = TrangThai.SelectedValue.ToInteger(),
                    PerformOnDate = NgayHoanThanh.Text.ToDateTime(),
                    AgencyID      = perform.AgencyID
                };
            }
            else if (perform.Status == 3 && TrangThai.SelectedValue.ToInteger() == 2 &&
                     string.IsNullOrEmpty(BaoCaoThucHien.Text.Trim()))
            {
                report = new Report
                {
                    RequestID     = perform.RequestID,
                    CreatedByName = Sessions.DisplayName,
                    ReportContent = $"Xác nhận trạng thái thực hiện của {perform.AgencyName} thành {TrangThai.SelectedItem.Text.ToUpper()}",
                    Status        = TrangThai.SelectedValue.ToInteger(),
                    PerformOnDate = NgayHoanThanh.Text.ToDateTime(),
                    AgencyID      = perform.AgencyID
                };
            }
            else
            {
                report = new Report
                {
                    RequestID     = perform.RequestID,
                    CreatedByName = Sessions.DisplayName,
                    ReportContent = BaoCaoThucHien.Text.Trim(),
                    Status        = TrangThai.SelectedValue.ToInteger(),
                    PerformOnDate = NgayHoanThanh.Text.ToDateTime(),
                    AgencyID      = perform.AgencyID
                };
            }

            ReportServices.Create(report: report, performIds: new List <long> {
                Parameters.Id
            }, fileContent: null, fileName: "", uploadFolder: AppSettings.UploadFolder, isStaffReport: true);

            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Chuyển trạng thái thực hiện của {perform.AgencyName} thành {TrangThai.SelectedItem.Text.ToUpper()} ({Sessions.DisplayName})", Type = "Chuyển trạng thái YKCD", Source = "YKCD_UBND"
            });

            Redirector.Redirect(ViewNames.Province.ThongTinYKCD, "id", perform.RequestID);
        }
예제 #9
0
        public bool ReceiveReport(string xmlDoc)
        {
            try
            {
                var serializer = new XmlSerializer(typeof(ReportList));

                using (var reader = new StringReader(xmlDoc))
                {
                    var xmlObj = (ReportList)serializer.Deserialize(reader);

                    foreach (var reportXml in xmlObj.Reports)
                    {
                        var perform = PerformServices.GetById(reportXml.PerformID);

                        if (!string.IsNullOrEmpty(reportXml.ReportContent))
                        {
                            var report = new Report
                            {
                                ReportContent = reportXml.ReportContent,
                                PerformOnDate = reportXml.PerformOnDate,
                                RequestID     = reportXml.RequestID,
                                Status        = reportXml.Status,
                                CreatedByName = reportXml.ReporterName,
                                AgencyID      = perform.AgencyID
                            };

                            ReportServices.Create(report);

                            foreach (var reportFile in reportXml.DanhSachFile)
                            {
                                try
                                {
                                    ReportFileServices.CreateReportFile(report, fileContent: reportFile.Content, fileName: reportFile.FileName, uploadFolder: AppSettings.UploadFolder);
                                }
                                catch (Exception ex)
                                {
                                    LogHelper.WriteLog(ex);
                                    continue;
                                }
                            }
                        }

                        if (perform.Status != 2)
                        {
                            perform.Status = reportXml.Status;

                            if (perform.Status == 2 || perform.Status == 3)
                            {
                                perform.Status         = 3;
                                perform.FinishedOnDate = reportXml.PerformOnDate;
                            }

                            perform.IsSynced = false;
                            PerformServices.Update(perform);

                            RequestServices.CapNhatTrangThaiYKCD(reportXml.RequestID);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex);
                return(false);
            }
        }