コード例 #1
0
        public async Task <DebeModel> GetDebeList()
        {
            DebeModel debeModel = new DebeModel
            {
                CurrentPage = "1",
                PageCount   = "1"
            };

            IEnumerable <DebeTitleHeaderModel> debeTitleHeaderModels = await _bindingComponent
                                                                       .Binder()
                                                                       .WithUrl("https://eksisozluk.com/debe")
                                                                       .WithQueryString(new KeyValuePair <string, string>("_", DateTime.Now.Ticks.ToString()))
                                                                       .WithHeader(new KeyValuePair <string, string>("X-Requested-With", "XMLHttpRequest"))
                                                                       .BindModel <DebeTitleHeaderModel>(model =>
            {
                string decodedUrl = WebUtility.UrlDecode(model.Link);
                string entryId    = decodedUrl.Split('#')[1];

                model.EntryId = entryId;
            });

            // TODO : @deniz buradaki işlemin async await mimarisine uygun şekilde BindModel'in içerisinde yapılması gerekiyor.
            var titleHeaderModels = debeTitleHeaderModels as IList <DebeTitleHeaderModel> ?? debeTitleHeaderModels.ToList();

            IEnumerable <Task> entryTasks = titleHeaderModels.Select(model =>
            {
                return(RunWithErrorHandling(async() =>
                {
                    EntryDetailModel entryDetailModel = await GetEntryById(model.EntryId);
                    model.DebeEntryDetailModel = entryDetailModel;
                }));
            });

            await Task.WhenAll(entryTasks);

            debeModel.DebeTitleHeaderModels = titleHeaderModels.ToList();

            return(debeModel);
        }
コード例 #2
0
        // Calculate EntryDetails using Models Case Update
        public static List <EntryDetailModel> UpdateCalculateEntries(int portofolioaccount, int EntryID, SellingInvoiceModel sellingInvoiceModel = null,
                                                                     PurchaseInvoiceModel purchaseInvoiceModel = null, ReceiptExchangeModel receiptExchangeModel = null,
                                                                     NoticeModel noticeModel = null)
        {
            #region Definitions
            decimal TotalNet = 0, TotalBankCommision = 0, TotalTaxOnCommision = 0, TotalSTocksSales = 0, TotalSTocksPurchase = 0;
            List <EntryDetailModel> DetailListModel = new List <EntryDetailModel>();
            int        AccBankCommision = 0, AccTaxonCommision = 0, AccSalesStocks = 0, AccPuchaseStocks = 0;
            EntryModel Entrymodel = new EntryModel();

            #endregion
            #region SellingInvoice
            if (sellingInvoiceModel != null)
            {
                var SettingAccsell = sellingInvoiceModel.SettingModel.SettingAccs;
                var SellDetails    = sellingInvoiceModel.DetailsModels;
                //Get EntryDetail Accounts From Setting
                #region SettingAccounts
                foreach (var Accs in SettingAccsell)
                {
                    if (Accs.AccountType == 1)
                    {
                        AccBankCommision = Accs.AccountID;
                    }
                    else if (Accs.AccountType == 2)
                    {
                        AccTaxonCommision = Accs.AccountID;
                    }
                    else
                    {
                        AccSalesStocks = Accs.AccountID;
                    }
                }
                #endregion

                #region Calculate EntryDetailsValues
                if (SellDetails != null)
                {
                    foreach (var item in SellDetails)
                    {
                        TotalNet            += item.NetAmmount;
                        TotalBankCommision  += item.BankCommission;
                        TotalTaxOnCommision += item.TaxOnCommission;
                        TotalSTocksSales    += item.SelingValue;
                    }
                }
                #endregion


                #region EntryDetails
                //Add Debit Accounts with values
                #region Debit
                EntryDetailModel DetailModel1 = new EntryDetailModel();
                DetailModel1.Debit     = TotalNet;
                DetailModel1.AccountID = portofolioaccount;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel1);
                EntryDetailModel DetailModel2 = new EntryDetailModel();
                DetailModel2.Debit     = TotalBankCommision;
                DetailModel2.AccountID = AccBankCommision;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel2);
                EntryDetailModel DetailModel3 = new EntryDetailModel();
                DetailModel3.Debit     = TotalTaxOnCommision;
                DetailModel3.AccountID = AccTaxonCommision;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel3);
                #endregion

                //Add Credit Accounts with values
                #region Credit
                EntryDetailModel DetailModel4 = new EntryDetailModel();
                DetailModel4.Credit    = TotalSTocksSales;
                DetailModel4.AccountID = AccSalesStocks;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel4);
                #endregion

                #endregion
            }
            #endregion
            #region PurchaseInvoice
            if (purchaseInvoiceModel != null)
            {
                var SettingAccpurchase = purchaseInvoiceModel.SettingModel.SettingAccs;
                var PurchaseDetails    = purchaseInvoiceModel.DetailsModels;
                //Get EntryDetail Accounts From Setting
                #region SettingAccounts
                foreach (var Accs in SettingAccpurchase)
                {
                    if (Accs.AccountType == 1)
                    {
                        AccPuchaseStocks = Accs.AccountID;
                    }
                    else if (Accs.AccountType == 2)
                    {
                        AccBankCommision = Accs.AccountID;
                    }
                    else
                    {
                        AccTaxonCommision = Accs.AccountID;
                    }
                }
                #endregion

                #region Calculate EntryDetailsValues
                if (PurchaseDetails != null)
                {
                    foreach (var item in PurchaseDetails)
                    {
                        TotalNet            += item.NetAmmount;
                        TotalBankCommision  += item.BankCommission;
                        TotalTaxOnCommision += item.TaxOnCommission;
                        TotalSTocksPurchase += item.PurchaseValue;
                    }
                }
                #endregion



                #region EntryDetails
                //Add Debit Accounts with values
                #region Debit
                EntryDetailModel DetailModel1 = new EntryDetailModel();
                DetailModel1.Debit     = TotalNet;
                DetailModel1.AccountID = AccPuchaseStocks;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel1);
                EntryDetailModel DetailModel2 = new EntryDetailModel();
                DetailModel2.Debit     = TotalBankCommision;
                DetailModel2.AccountID = AccBankCommision;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel2);
                EntryDetailModel DetailModel3 = new EntryDetailModel();
                DetailModel3.Debit     = TotalTaxOnCommision;
                DetailModel3.AccountID = AccTaxonCommision;
                DetailModel1.EntryID   = EntryID;
                DetailListModel.Add(DetailModel3);
                #endregion

                //Add Credit Accounts with values
                #region Credit

                EntryDetailModel DetailModel4 = new EntryDetailModel();
                DetailModel4.Credit    = TotalSTocksPurchase;
                DetailModel4.AccountID = portofolioaccount;
                DetailModel4.EntryID   = EntryID;
                DetailListModel.Add(DetailModel4);
                #endregion

                #endregion
            }
            #endregion
            #region ReceiptExchange
            if (receiptExchangeModel != null)
            {
                #region ReceiptExchange


                var ReceiptExchangeDetails = receiptExchangeModel.RecExcDetails;


                #region EntryDetails
                if (ReceiptExchangeDetails != null)
                {
                    foreach (var item in ReceiptExchangeDetails)
                    {
                        if (item.Debit != null)
                        {
                            //Add Debit Accounts with values
                            #region Debit
                            EntryDetailModel DetailModel = new EntryDetailModel();
                            DetailModel.Debit     = item.Debit;
                            DetailModel.AccountID = item.AccountID;
                            DetailModel.EntryID   = EntryID;
                            DetailListModel.Add(DetailModel);
                            #endregion
                        }
                        if (item.Credit != null)
                        {
                            //Add Credit Accounts with values
                            #region Credit
                            EntryDetailModel DetailModel = new EntryDetailModel();
                            DetailModel.Credit    = item.Credit;
                            DetailModel.AccountID = item.AccountID;
                            DetailModel.EntryID   = EntryID;
                            DetailListModel.Add(DetailModel);
                            #endregion
                        }
                    }
                }

                #endregion

                #endregion
            }
            #endregion
            #region NoticeDebitCredit
            if (noticeModel != null)
            {
                #region DebitCredit


                var NoticeDetails = noticeModel.NoticeModelDetails;


                #region EntryDetails
                if (NoticeDetails != null)
                {
                    foreach (var item in NoticeDetails)
                    {
                        if (item.Debit != null || item.StocksDebit != null)
                        {
                            //Add Debit Accounts with values
                            #region Debit
                            EntryDetailModel DetailModel = new EntryDetailModel();
                            DetailModel.Debit = item.Debit;
                            if (item.StocksDebit != null)
                            {
                                DetailModel.StocksDebit = item.StocksDebit;
                            }
                            DetailModel.AccountID = item.AccountID;
                            DetailModel.EntryID   = EntryID;
                            DetailListModel.Add(DetailModel);
                            #endregion
                        }
                        if (item.Credit != null || item.StocksCredit != null)
                        {
                            //Add Credit Accounts with values
                            #region Credit
                            EntryDetailModel DetailModel = new EntryDetailModel();
                            DetailModel.Credit = item.Credit;
                            if (item.StocksCredit != null)
                            {
                                DetailModel.StocksCredit = item.StocksCredit;
                            }
                            DetailModel.AccountID = item.AccountID;
                            DetailModel.EntryID   = EntryID;
                            DetailListModel.Add(DetailModel);
                            #endregion
                        }
                    }
                }

                #endregion

                #endregion
            }
            #endregion
            return(DetailListModel);
        }