Beispiel #1
0
        protected override void GetDataList()
        {
            var ketQua = RequestServices.ThongKeDonViTheoNhom(Parameters.Id);

            BaseCollection = ketQua;

            tongCong = new SoLieuThongKe
            {
                NotPerformInTerm  = ketQua.Sum(i => i.NotPerformInTerm),
                NotPerformOutTerm = ketQua.Sum(i => i.NotPerformOutTerm),
                PerformingInTerm  = ketQua.Sum(i => i.PerformingInTerm),
                PerformingOutTerm = ketQua.Sum(i => i.PerformingOutTerm),
                WaitToConfirm     = ketQua.Sum(i => i.WaitToConfirm),
                DoneInTerm        = ketQua.Sum(i => i.DoneInTerm),
                DoneOutTerm       = ketQua.Sum(i => i.DoneOutTerm)
            };

            Highcharts chart = new Highcharts("chart")
                               .InitChart(new Chart {
                DefaultSeriesType = ChartTypes.Bar, Height = 700
            })
                               .SetTitle(new Title {
                Text = ""
            })
                               .SetXAxis(new XAxis {
                Categories = ketQua.Select(ag => ag.ObjectName).ToArray()
            })
                               .SetYAxis(new YAxis
            {
                Min   = 0,
                Title = new YAxisTitle {
                    Text = "Số lượng ý kiến chỉ đạo"
                }
            })
                               .SetTooltip(new Tooltip {
                Formatter = "function() { return ''+ this.series.name +': '+ this.y +''; }"
            })
                               .SetPlotOptions(new PlotOptions {
                Bar = new PlotOptionsBar {
                    Stacking = Stackings.Normal
                }
            })
                               .SetSeries(new[]
            {
                new Series {
                    Name = "Trong hạn", Data = new Data(ketQua.Select(ag => ag.NotPerformInTerm + ag.PerformingInTerm).Cast <object>().ToArray()), Color = Color.DarkOrange
                },
                new Series {
                    Name = "Quá hạn", Data = new Data(ketQua.Select(ag => ag.NotPerformOutTerm + ag.PerformingOutTerm).Cast <object>().ToArray()), Color = ColorTranslator.FromHtml("#b22222")
                }
            });

            ltrChart.Text = chart.ToHtmlString();
        }
        public async Task <List <Category> > getListCategory()
        {
            HttpResponseMessage Res = await RequestServices.GetAsync(APICategoryEndPoint.GetList);

            if (Res.IsSuccessStatusCode)
            {
                var list = await Res.Content.ReadAsAsync <IEnumerable <Category> >();

                return(list.ToList());
            }
            return(null);
        }
Beispiel #3
0
        protected static void SendSms()
        {
            SmsBrandnameSoapClient smsClient = new SmsBrandnameSoapClient();

            foreach (var agency in DepartmentServices.GetList().Where(ag => !string.IsNullOrEmpty(ag.PhoneNumber?.Trim())))
            {
                var dsYkcd = RequestServices.GetList(MaDonViThucHien: agency.DepartmentID, TrangThai: TrangThai.ChuaThucHien).Where(item => item.RequiredDate.AddDays(-2) >= DateTime.Now.Date);

                foreach (var ykcd in dsYkcd)
                {
                    string smsContent = $"[YKCD] {agency.DepartmentName.ToUnsign()} co van ban so {ykcd.DocumentCode} chua bao cao. Thoi han: {ykcd.RequiredDate.ToDateString()}.";

                    foreach (var phoneNumber in agency.PhoneNumber.Split(';'))
                    {
                        if (!string.IsNullOrEmpty(phoneNumber))
                        {
                            smsClient.GuiMotNoiDungNhieuSo(string.Empty, phoneNumber, smsContent, "syt_tthue", "u2AuWJ7ZNNTR8ge2v7b4CQ", 18);

                            SmsServices.Create(new Sms
                            {
                                ReceiverNumber = phoneNumber,
                                SmsContent     = smsContent,
                                SendTime       = DateTime.Now
                            });
                        }
                    }
                }

                dsYkcd = RequestServices.GetList(MaDonViThucHien: agency.DepartmentID, TrangThai: TrangThai.DangThucHien).Where(item => item.RequiredDate.AddDays(-2) >= DateTime.Now.Date);

                foreach (var ykcd in dsYkcd)
                {
                    string smsContent = $"[YKCD] {agency.DepartmentName.ToUnsign()} co van ban so {ykcd.DocumentCode} chua bao cao. Thoi han: {ykcd.RequiredDate.ToDateString()}.";

                    foreach (var phoneNumber in agency.PhoneNumber.Split(';'))
                    {
                        if (!string.IsNullOrEmpty(phoneNumber))
                        {
                            smsClient.GuiMotNoiDungNhieuSo(string.Empty, phoneNumber, smsContent, "syt_tthue", "u2AuWJ7ZNNTR8ge2v7b4CQ", 18);

                            SmsServices.Create(new Sms
                            {
                                ReceiverNumber = phoneNumber,
                                SmsContent     = smsContent,
                                SendTime       = DateTime.Now
                            });
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public async Task <Decimal> Total()
        {
            decimal total = 0;

            var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);

            HttpResponseMessage Res = await RequestServices.GetAsync(APICartEndPoint.Total, accessToken);

            if (Res.IsSuccessStatusCode)
            {
                total = await Res.Content.ReadAsAsync <decimal>();
            }
            return(total);
        }
        public ActionResult FinantialApprove(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            Request request = RequestServices.Get(id.Value);

            request.RequestStatus = (int)RequestStatusEnum.FinanciallyApproved;
            RequestServices.Update(request);

            return(RedirectToAction("Index"));
        }
        public ActionResult Exception(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            Request request = RequestServices.Get(id.Value);

            request.RequestStatus = (int)RequestStatusEnum.ExcludedFromValidation;
            RequestServices.Update(request);

            return(RedirectToAction("Index"));
        }
        public ActionResult Reject(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("ManageNewRequests"));
            }

            Request request = RequestServices.Get(id.Value);

            request.RequestStatus = (int)RequestStatusEnum.Invalid;
            RequestServices.Update(request);

            return(RedirectToAction("ManageNewRequests"));
        }
Beispiel #8
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);
        }
        public string Validate(decimal?Amount, int?RequestId)
        {
            if (RequestId == 0)
            {
                return("Error");// RedirectToAction("ManageNewRequests");
            }
            try
            {
                Db db = new Db(DbServices.ConnectionString);

                LoanRequestVw       request    = LoanRequestVwServices.Get(RequestId.Value);
                RefundableProductVw refendable = RefundableProductVwServices.Get(RequestId.Value);
                int numOfGuarantorsNeeded      = 0;

                EmployeeProductCalculatorFilter f = new EmployeeProductCalculatorFilter();
                f.EmployeeId = request.RequestProductEmployeeId; f.ProductTypeId = (short)request.RequestProductProductTypeId;
                f.Amount     = (decimal)request.RequestAmount; f.Period = (short)refendable.PaymentPeriod;
                List <EmployeeProductCalculatorResult> result = db.EmployeeProductCalculator(f);
                if (result.Count > 0)
                {
                    numOfGuarantorsNeeded = result[0].GuarantorsCount.Value;
                }

                int numOfGuarantors = GuarantorVwServices.GetByRefundableProductProductId(RequestId.Value).Count;
                if (numOfGuarantors == numOfGuarantorsNeeded)
                {
                    Product p = ProductServices.Get(RequestId.Value, db);
                    p.Amount = Amount.Value;
                    ProductServices.Update(p);
                    Request r = RequestServices.Get(RequestId.Value);
                    r.RequestStatus = (int)RequestStatusEnum.Valid;
                    RequestServices.Update(r);
                }
                else
                {
                    //TempData["Failure"] = ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "Guarantors", "NumberOfGuarantors");
                    return(ResourceServices.GetString(Cf.Data.Resources.ResourceBase.Culture, "Guarantors", "NumberOfGuarantors"));
                }
            }
            catch (Exception e)
            {
                //EventLog eventLog = DbServices.Log(CurrentUser.Id, db, (int)EventCategoryEnum.Department, (int)EventSourceEnum.Department, (int)EventStatusEnum.Insert, new DepartmentVwXmlFormatter(instance), handler);
                //if (eventLog != null)
                //    throw DbServices.LogError(eventLog, ex, "Department", db);
                //else
                //    throw ex;
            }
            return("Success");// RedirectToAction("ManageNewRequests");
        }
Beispiel #10
0
        protected Paragraph DisplayDepartments(DocumentModel document, long requestID)
        {
            var           items       = RequestServices.GetById(requestID)?.Performs?.Select(i => i.DepartmentName);
            Paragraph     result      = null;
            List <Inline> inlineItems = new List <Inline>();

            foreach (var item in items)
            {
                inlineItems.Add(new Run(document, item));
                inlineItems.Add(new SpecialCharacter(document, SpecialCharacterType.LineBreak));
            }

            result = new Paragraph(document, inlineItems.ToArray());
            return(result);
        }
Beispiel #11
0
 protected override void GetDataList()
 {
     if (Parameters.AgencyID > 0)
     {
         BaseCollection = RequestServices.GetList(MaDonVi: Parameters.AgencyID, TrangThai: Parameters.Status).OrderByDescending(item => item.RequiredDate).ToList();
     }
     else if (Parameters.PresidentID > 0)
     {
         BaseCollection = RequestServices.GetList(MaNguoiGiaoViec: Parameters.PresidentID, TrangThai: Parameters.Status).OrderByDescending(item => item.RequiredDate).ToList();
     }
     else if (Parameters.StaffID > 0)
     {
         BaseCollection = RequestServices.GetList(MaNguoiTheoDoi: Parameters.StaffID, TrangThai: Parameters.Status).OrderByDescending(item => item.RequiredDate).ToList();
     }
 }
        private static Mock <IHttpContextAccessor> CreateValidHttpContext(string token, string userId, string hdid)
        {
            IHeaderDictionary headerDictionary = new HeaderDictionary();

            headerDictionary.Add("Authorization", token);
            headerDictionary.Add("referer", "http://localhost/");
            Mock <HttpRequest> httpRequestMock = new Mock <HttpRequest>();

            httpRequestMock.Setup(s => s.Headers).Returns(headerDictionary);

            List <Claim> claims = new List <Claim>()
            {
                new Claim(ClaimTypes.Name, "username"),
                new Claim(ClaimTypes.NameIdentifier, userId),
                new Claim("hdid", hdid),
                new Claim("auth_time", "123"),
                new Claim("access_token", token),
            };
            ClaimsIdentity  identity        = new ClaimsIdentity(claims, "TestAuth");
            ClaimsPrincipal claimsPrincipal = new ClaimsPrincipal(identity);

            Mock <HttpContext> httpContextMock = new Mock <HttpContext>();

            httpContextMock.Setup(s => s.User).Returns(claimsPrincipal);
            httpContextMock.Setup(s => s.Request).Returns(httpRequestMock.Object);
            Mock <IHttpContextAccessor> httpContextAccessorMock = new Mock <IHttpContextAccessor>();

            httpContextAccessorMock.Setup(s => s.HttpContext).Returns(httpContextMock.Object);
            Mock <IAuthenticationService> authenticationMock = new Mock <IAuthenticationService>();
            var authResult = AuthenticateResult.Success(new AuthenticationTicket(claimsPrincipal, JwtBearerDefaults.AuthenticationScheme));

            authResult.Properties?.StoreTokens(new[]
            {
                new AuthenticationToken
                {
                    Name  = "access_token",
                    Value = token,
                },
            });
            authenticationMock
            .Setup(x => x.AuthenticateAsync(httpContextAccessorMock.Object.HttpContext, It.IsAny <string>()))
            .ReturnsAsync(authResult);

            httpContextAccessorMock
            .Setup(x => x.HttpContext !.RequestServices.GetService(typeof(IAuthenticationService)))
            .Returns(authenticationMock.Object);
            return(httpContextAccessorMock);
        }
        public async Task <IActionResult> Ratings()
        {
            var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);

            HttpResponseMessage Res = await RequestServices.GetAsync(APIProductEndPoint.Ratings, accessToken);

            if (Res.IsSuccessStatusCode)
            {
                var cartResponse = await Res.Content.ReadAsAsync <IEnumerable <ProductListVM> >();

                return(View(cartResponse));
            }
            TempData["ERROR"] = "ERROR";

            return(View());
        }
        public async Task <ActionResult> Details(int id)
        {
            ProductDetailsVM productInfo = new ProductDetailsVM();

            HttpResponseMessage Res = await RequestServices.GetAsync(APIProductEndPoint.Details + id.ToString());

            if (Res.IsSuccessStatusCode)
            {
                var product = Res.Content.ReadAsStringAsync().Result;

                productInfo = JsonConvert.DeserializeObject <ProductDetailsVM>(product);

                return(View(productInfo));
            }
            return(View());
        }
Beispiel #15
0
        protected override void ShowObjectInformation()
        {
            request            = RequestServices.GetById(IntId);
            NoiDungChiDao.Text = request.RequestContent;
            ThoiHan.Text       = request.RequiredDate.ToDateString();

            foreach (var tracker in request.Trackers)
            {
                ChuyenVienTheoDoi.SelectByValue(tracker.UserID, multipleChoice: true);
            }

            foreach (var agency in request.Agencies)
            {
                DonViThucHien.SelectByValue(agency.AgencyID, multipleChoice: true);
            }
        }
Beispiel #16
0
        protected override void SetDefaultValueOnCreate()
        {
            if (Authenticator.IsUser)
            {
                DonViThucHien.SelectAll();
            }

            else if (Authenticator.IsAgency)
            {
                DonViThucHien.SelectByValue(
                    RequestServices.GetById(Parameters.Pid).Performs.First(p => p.AgencyID == Sessions.AgencyID).PerformID
                    );
            }

            ThoiGianThucHien.Text = DateTime.Now.ToDateString();
        }
Beispiel #17
0
        public void DeleteRequest(long requestID)
        {
            var request = RequestServices.GetByProvinceID(requestID);

            if (request != null)
            {
                request.IsDeleted = true;

                foreach (var perform in request.Performs)
                {
                    PerformServices.Delete(perform);
                }

                RequestServices.Update(request);
            }
        }
Beispiel #18
0
        // GET: Request/Delete/5
        public ActionResult Delete(Nullable <int> id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Db      db      = new Db(DbServices.ConnectionString);
            Request request = RequestServices.Get(id.Value, db);

            if (request == null)
            {
                return(HttpNotFound());
            }
            return(View(request));
        }
Beispiel #19
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            if (For != null)
            {
                var url = RequestServices.GetRequiredService <UrlLookup>();

                if (For is ModelExpression modelExpression)
                {
                    output.Attributes.SetAttribute("href", url.For(modelExpression.Model));
                }
                else
                {
                    output.Attributes.SetAttribute("href", url.For(For));
                }
            }
        }
Beispiel #20
0
        public async Task <IActionResult> updateStatusOrder(int id)
        {
            var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken);

            HttpResponseMessage Res = await RequestServices.GetAsync(APIOrderEndPoint.UpdateStatusOrder + id.ToString(), accessToken);

            if (Res.IsSuccessStatusCode)
            {
                TempData["UPDATE_STATUS_SUCESS"] = "UPDATE_STATUS_SUCESS";

                return(RedirectToAction("Index", "Order"));
            }
            TempData["ERROR"] = "ERROR";

            return(RedirectToAction("Index", "Order"));
        }
    /// <inheritdoc />
    public void PostConfigure(string name, CookieAuthenticationOptions options)
    {
        if (name == _scheme)
        {
            LicenseValidator.ValidateServerSideSessions();

            var sessionStore = _httpContextAccessor.HttpContext !.RequestServices.GetService <IServerSideSessionStore>();
            if (sessionStore is InMemoryServerSideSessionStore)
            {
                var logger = _httpContextAccessor.HttpContext !.RequestServices.GetRequiredService <ILoggerFactory>().CreateLogger("Duende.IdentityServer.Startup");
                logger.LogInformation("You are using the in-memory version of the user session store. This will store user authentication sessions server side, but in memory only. If you are using this feature in production, you want to switch to a different store implementation.");
            }

            options.SessionStore = new TicketStoreShim(_httpContextAccessor);
        }
    }
Beispiel #22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Authenticator.CheckRole(UserRole.ChuyenVienVPUBNDTinh))
            {
                RequestDetail.BindData(RequestServices.LaySoLieuThongKe(MaNguoiTheoDoi: Sessions.UserID).WrapInList());

                NoDocumentOnTime = MettingServices.GetList()
                                   ?.Where(item => item.StaffID == Sessions.UserID)
                                   ?.Where(item => (item.DocumentID <= 0 && HolidayServices.GetBusinessDays(item.Time, DateTime.Now) <= 3)).Count() ?? 0;

                NoDocumentLate = MettingServices.GetList()
                                 ?.Where(item => item.StaffID == Sessions.UserID)
                                 ?.Where(item => (item.DocumentID <= 0 && HolidayServices.GetBusinessDays(item.Time, DateTime.Now) > 3)).Count() ?? 0;

                DocumentOnTime = MettingServices.GetList()
                                 ?.Where(item => item.StaffID == Sessions.UserID)
                                 ?.Where(item => (item.DocumentID > 0 && HolidayServices.GetBusinessDays(item.Time, item.Document.ReleaseDate) <= 3)).Count() ?? 0;

                DocumentLate = MettingServices.GetList()
                               ?.Where(item => item.StaffID == Sessions.UserID)
                               ?.Where(item => (item.DocumentID > 0 && HolidayServices.GetBusinessDays(item.Time, item.Document.ReleaseDate) > 3)).Count() ?? 0;
            }
            else if (Authenticator.CheckRole(UserRole.LanhDaoUBNDTinh, UserRole.LanhDaoVPUBNDTinh))
            {
                RequestDetail.BindData(RequestServices.LaySoLieuThongKe(MaLanhDao: Sessions.UserID).WrapInList());

                NoDocumentOnTime = MettingServices.GetList()
                                   ?.Where(item => item.PresidentID == Sessions.UserID)
                                   ?.Where(item => (item.DocumentID <= 0 && HolidayServices.GetBusinessDays(item.Time, DateTime.Now) <= 3)).Count() ?? 0;

                NoDocumentLate = MettingServices.GetList()
                                 ?.Where(item => item.PresidentID == Sessions.UserID)
                                 ?.Where(item => (item.DocumentID <= 0 && HolidayServices.GetBusinessDays(item.Time, DateTime.Now) > 3)).Count() ?? 0;

                DocumentOnTime = MettingServices.GetList()
                                 ?.Where(item => item.PresidentID == Sessions.UserID)
                                 ?.Where(item => (item.DocumentID > 0 && HolidayServices.GetBusinessDays(item.Time, item.Document.ReleaseDate) <= 3)).Count() ?? 0;

                DocumentLate = MettingServices.GetList()
                               ?.Where(item => item.PresidentID == Sessions.UserID)
                               ?.Where(item => (item.DocumentID > 0 && HolidayServices.GetBusinessDays(item.Time, item.Document.ReleaseDate) > 3)).Count() ?? 0;
            }
            else if (Sessions.AgencyID > 0)
            {
                RequestDetail.BindData(RequestServices.LaySoLieuThongKe(MaDonVi: Sessions.AgencyID).WrapInList());
            }
        }
Beispiel #23
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            var httpContextAccessor = RequestServices.GetService <IHttpContextAccessor>();
            var antiForgery         = RequestServices.GetService <IAntiforgery>();

            if (httpContextAccessor.HttpContext != null)
            {
                output.TagName = "meta";
                output.Attributes.SetAttribute("name", Name);
                output.Attributes.SetAttribute("content",
                                               antiForgery.GetAndStoreTokens(httpContextAccessor.HttpContext).RequestToken);
            }
            else
            {
                output.SuppressOutput();
            }
        }
Beispiel #24
0
        protected override void CreateNewObject()
        {
            request = new Request
            {
                DocumentID     = Parameters.Pid,
                RequestContent = NoiDungChiDao.Text.Trim(),
                RequiredDate   = ThoiHan.Text.ToDateTime(),
                RequesterID    = DocumentServices.GetById(Parameters.Pid).SignerID,
                RequesterName  = DocumentServices.GetById(Parameters.Pid).SignerName
            };

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

            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Nhập thông tin ykcd mới ({Sessions.DisplayName})", Type = "Nhập YKCD", Source = "YKCD_UBND"
            });
        }
Beispiel #25
0
        protected override void CreateNewObject()
        {
            request = new Request
            {
                RequestID         = Parameters.Pid,
                RequiredDate      = ThoiHan.Text.ToDateTime(),
                IsProvinceRequest = RequestServices.GetById(Parameters.Pid).IsProvinceRequest
            };

            RequestServices.Assign(request, LanhDaoYeuCau.SelectedValue.ToInteger(), ChuyenVienTheoDoi.GetSelectedValues(), DonViThucHien.GetSelectedValues(), XacNhanHoanThanh.Checked);

            ExceptionlessClient.Default.SubmitEvent(new Event {
                Message = $"Thực hiện giao việc ({Sessions.DisplayName})", Type = "Giao việc", Source = AppSettings.AGENCY_NAME
            });

            Redirector.Redirect(ViewNames.Agency.ThongTinYKCD, "id", Parameters.Pid);
        }
Beispiel #26
0
        protected override void GetDataList()
        {
            var ketQua = RequestServices.ThongKeTheoTatCaLanhDaoGiaoViec();

            BaseCollection = ketQua;

            tongCong = new SoLieuThongKe
            {
                NotPerformInTerm  = ketQua.Sum(i => i.NotPerformInTerm),
                NotPerformOutTerm = ketQua.Sum(i => i.NotPerformOutTerm),
                PerformingInTerm  = ketQua.Sum(i => i.PerformingInTerm),
                PerformingOutTerm = ketQua.Sum(i => i.PerformingOutTerm),
                WaitToConfirm     = ketQua.Sum(i => i.WaitToConfirm),
                DoneInTerm        = ketQua.Sum(i => i.DoneInTerm),
                DoneOutTerm       = ketQua.Sum(i => i.DoneOutTerm)
            };
        }
Beispiel #27
0
        protected override void GetDataList()
        {
            var ketQua = RequestServices.ThongKeTheoTatCaChuyenVienTheoDoi(TuNgay.Text.ToDateTime());

            BaseCollection = ketQua;

            tongCong = new SoLieuThongKe
            {
                NotPerformInTerm  = ketQua.Sum(i => i.NotPerformInTerm),
                NotPerformOutTerm = ketQua.Sum(i => i.NotPerformOutTerm),
                PerformingInTerm  = ketQua.Sum(i => i.PerformingInTerm),
                PerformingOutTerm = ketQua.Sum(i => i.PerformingOutTerm),
                WaitToConfirm     = ketQua.Sum(i => i.WaitToConfirm),
                DoneInTerm        = ketQua.Sum(i => i.DoneInTerm),
                DoneOutTerm       = ketQua.Sum(i => i.DoneOutTerm)
            };
        }
Beispiel #28
0
        protected override void GetDataList()
        {
            var ketQua = RequestServices.ThongKeDonViTheoNhom(NhomDonVi.SelectedValue.ToInteger(), TuNgay.Text.ToDateTime());

            BaseCollection = ketQua;

            tongCong = new SoLieuThongKe
            {
                NotPerformInTerm  = ketQua.Sum(i => i.NotPerformInTerm),
                NotPerformOutTerm = ketQua.Sum(i => i.NotPerformOutTerm),
                PerformingInTerm  = ketQua.Sum(i => i.PerformingInTerm),
                PerformingOutTerm = ketQua.Sum(i => i.PerformingOutTerm),
                WaitToConfirm     = ketQua.Sum(i => i.WaitToConfirm),
                DoneInTerm        = ketQua.Sum(i => i.DoneInTerm),
                DoneOutTerm       = ketQua.Sum(i => i.DoneOutTerm)
            };
        }
Beispiel #29
0
        public static void Create(Report report, List <long> performIds, object fileContent, string fileName, string uploadFolder, bool isStaffReport)
        {
            if (!string.IsNullOrEmpty(report.ReportContent))
            {
                Create(report);

                ReportFileServices.CreateReportFile(report, fileContent: fileContent, fileName: fileName, uploadFolder: uploadFolder);
            }

            if (isStaffReport)
            {
                if (performIds != null && performIds.Count > 0)
                {
                    foreach (var performId in performIds)
                    {
                        PerformServices.Update(performId: performId, status: report.Status, performOnDate: report.PerformOnDate, isNeedConfirm: false);
                    }
                }
                //Trường hợp giao việc ko chọn đơn vị, cập nhật trạng thái YKCD theo trạng thái báo cáo
                else
                {
                    var request = report.Request;

                    if (request.Performs == null || request.Performs.Count == 0)
                    {
                        request.Status = report.Status;

                        if (request.Status == 2)
                        {
                            request.FinishedOnDate = report.PerformOnDate;
                        }
                        RequestServices.Update(request);
                    }
                }
            }
            else
            {
                if (performIds != null && performIds.Count > 0)
                {
                    PerformServices.Update(performId: performIds.FirstOrDefault(), status: report.Status, performOnDate: report.PerformOnDate, isNeedConfirm: true);
                }
            }

            RequestServices.CapNhatTrangThaiYKCD(report.RequestID);
        }
        protected DocumentModel CreateDocument()
        {
            DocumentModel document = WordExtensions.Load($@"{AppSettings.UploadFolder}\MauVanBan\MauThongKeYKCD.docx");

            document.Content.Find("(TieuDe)")?.First()?.LoadText("BÁO CÁO TÌNH HÌNH THEO DÕI VIỆC THỰC HIỆN Ý KIẾN CHỈ ĐẠO CỦA UBND TỈNH");
            document.Content.Find("(ThoiDiemThongKe)")?.First()?.LoadText($"Thống kê từ ngày {TuNgay.Text} đến ngày {DenNgay.Text}");
            document.Content.Find("(TenDonVi)")?.First().LoadText(@"UBND TỈNH THỪA THIÊN HUẾ");
            document.Content.Find("(NgayBaoCao)")?.First()?.LoadText($"TP Huế, ngày {DateTime.Now.Date.Day} tháng {DateTime.Now.Date.Month} năm {DateTime.Now.Date.Year}");
            document.Content.Find("(SoBaoCao)")?.First()?.LoadText("");

            var dataTable    = document.GetChildElements(true, ElementType.Table).Cast <Table>().ToArray()[1];
            int stt          = 1;
            int currentIndex = 2;
            int currentGroup = 0;

            foreach (var item in RequestServices.ThongKeTheoTatCaChuyenVienTheoDoi(TuNgay.Text.ToDateTime()).Where(i => i.Total > 0).ToList())
            {
                if (currentGroup != item.GroupID)
                {
                    currentGroup = item.GroupID;
                    dataTable.Rows.Insert(currentIndex, new TableRow(document, new TableCell(document, new Paragraph(document, item.GroupName).SetStyle(WordExtensions.BoldTextStyle))
                    {
                        ColumnSpan = 9
                    }));
                    currentIndex++;
                }

                dataTable.Rows.Insert(
                    currentIndex, new TableRow(document,
                                               new TableCell(document, new Paragraph(document, stt.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.ObjectName)),
                                               new TableCell(document, new Paragraph(document, item.NotPerformInTerm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.NotPerformOutTerm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.PerformingInTerm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.PerformingOutTerm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.WaitToConfirm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.DoneInTerm.ToString()).Center()),
                                               new TableCell(document, new Paragraph(document, item.DoneOutTerm.ToString()).Center())
                                               ));
                stt++;

                currentIndex++;
            }
            return(document);
        }