예제 #1
0
        protected override void ValidateEntity()
        {
            _sheet = Entity.Sheets?.SingleOrDefault(a => a.Name.ToLower().Equals("report"))
                     ?? Entity.Sheets?[0];

            if (_sheet != null)
            {
                return;
            }

            Context.AddMessage("E6", $"{this.GetType().Name} sheet Report not found {Request.FilePath}");
        }
        private static void OtherCharges(List <ImportXlsSheetDetail> row, SavePortfolioTransactionsSummaryRequest result,
                                         ImportXlsSheet sheet)
        {
            if (!row[0].Value.Trim().ToLower().Contains("other charges".ToLower()))
            {
                return;
            }

            foreach (var importXlsSheetDetail in row)
            {
                if (importXlsSheetDetail.Value == "0" || !importXlsSheetDetail.Value.IsNumeric())
                {
                    continue;
                }
                result.OtherCharges = decimal.Parse(importXlsSheetDetail.Value, CultureInfo.InvariantCulture);
                break;
            }
        }
        private static void GetOpeningBalanceDetail(ImportXlsSheet sheet,
                                                    SavePortfolioTransactionsSummaryRequest summaryRequest)
        {
            var list = sheet.Details.Where(a => a.Value.ToLower().Contains("Opening balance".ToLower()))
                       .OrderBy(a => a.Row).ToList();

            var row = sheet.Details.OrderBy(a => a.Row).Where(a => a.Row == list.Last().Row);

            foreach (var importXlsSheetDetail in row)
            {
                if (GetDate(summaryRequest, importXlsSheetDetail) != null)
                {
                    summaryRequest.OpenDate = GetDate(summaryRequest, importXlsSheetDetail);
                }

                if (GetDouble(summaryRequest, importXlsSheetDetail) != null &&
                    GetDouble(summaryRequest, importXlsSheetDetail) != 0)
                {
                    summaryRequest.OpenAmount = (decimal)GetDouble(summaryRequest, importXlsSheetDetail);
                }
            }
        }
        private static void GetClosingBalanceDetail(ImportXlsSheet sheet,
                                                    SavePortfolioTransactionsSummaryRequest summaryRequest)
        {
            var list = sheet.Details.Where(a => a.Value.ToLower().Contains("Closing balance at".ToLower()))
                       .OrderBy(a => a.Row).ToList();

            var items = list.TakeLast(2).ToList();

            var rowClose = sheet.Details.Where(a => a.Row == items[1].Row);

            foreach (var importXlsSheetDetail in rowClose)
            {
                if (GetDate(summaryRequest, importXlsSheetDetail) != null)
                {
                    summaryRequest.CloseDate = GetDate(summaryRequest, importXlsSheetDetail);
                }

                if (GetDouble(summaryRequest, importXlsSheetDetail) != null &&
                    GetDouble(summaryRequest, importXlsSheetDetail) != 0)
                {
                    summaryRequest.CloseAmount = (decimal)GetDouble(summaryRequest, importXlsSheetDetail);
                }
            }
        }