Beispiel #1
0
 public Task <int> SaveLedgerTransactionDetailAsync(LedgerTransactionDetail LedgerTransactionDetail)
 {
     if (LedgerTransactionDetail.LedgerTransactionDetailId < 1)
     {
         Context.LedgerTransactionDetails.Add(LedgerTransactionDetail);
     }
     else
     {
         Context.Entry(LedgerTransactionDetail).State = EntityState.Modified;
     }
     return(SaveAllAsync());
 }
Beispiel #2
0
 public int SaveLedgerTransactionDetail(LedgerTransactionDetail LedgerTransactionDetail)
 {
     if (LedgerTransactionDetail.LedgerTransactionDetailId < 1)
     {
         Context.LedgerTransactionDetails.Add(LedgerTransactionDetail);
     }
     else
     {
         Context.Entry(LedgerTransactionDetail).State = System.Data.Entity.EntityState.Modified;
     }
     return(SaveAll());
 }
        private void SaveJournalEntry()
        {
            try
            {
                if (App.IsLicenseValid == false)
                {
                    MessageBox.Show("Your License Has Expired");
                    return;
                }



                if (((FinanceViewModel)DataContext).FakeUser == null)
                {
                    throw new Exception("Please Login");
                }
                ((App)Application.Current).CurrentUser = ((FinanceViewModel)DataContext).FakeUser;
                //if(FakeUser.UserRole.UserInRole!=UserRoles.Accountant && FakeUser.UserRole.UserInRole != UserRoles.Administrator)
                //{
                //    throw new Exception("You have no authority to enter journals");
                //}
                int TransactionId = 0;
                try
                {
                    var v = ((FinanceViewModel)DataContext).LedgerTransactions.DefaultIfEmpty().Max(a => a.LedgerTransactionId);
                    TransactionId = v + 1;
                }
                catch
                {
                    TransactionId = 1;
                }
                jdsd = new List <JournalData>();
                jdsc = new List <JournalData>();
                foreach (var item in xt1.Children)
                {
                    JournalData jd = new JournalData();
                    if (item is StackPanel)
                    {
                        StackPanel s = item as StackPanel;
                        foreach (var cnt in s.Children)
                        {
                            if (cnt is TextBox)
                            {
                                TextBox t1 = cnt as TextBox;
                                if (!string.IsNullOrEmpty(t1.Text))
                                {
                                    decimal d = 0;
                                    if (decimal.TryParse(t1.Text, out d))
                                    {
                                        jd.amount  = d;
                                        jd.EntryId = TransactionId;
                                    }
                                }
                            }
                            else if (cnt is ComboBox)
                            {
                                ComboBox c1 = cnt as ComboBox;
                                if (c1.SelectedIndex > -1)
                                {
                                    var la = c1.SelectedItem as LedgerAccount;
                                    // var logic =.Where(a => a.parentLedgerAccount.LedgerAccountId == la.LedgerAccountId).FirstOrDefault();
                                    foreach (var account in ((FinanceViewModel)DataContext).LedgerAccounts)
                                    {
                                        if (account.parentLedgerAccount != null)
                                        {
                                            if (la.LedgerAccountId == account.parentLedgerAccount.LedgerAccountId)
                                            {
                                                throw new Exception(la.AccountName + " Cannot be Selected");
                                            }
                                        }
                                    }
                                    jd.LedgerAccountId = la.LedgerAccountId;
                                }
                            }
                        }
                        if (jd.LedgerAccountId > 0 && jd.amount > 0)
                        {
                            jdsd.Add(jd);
                        }
                    }
                }
                foreach (var item in cdt1.Children)
                {
                    JournalData jd = new JournalData();
                    if (item is StackPanel)
                    {
                        StackPanel s = item as StackPanel;
                        foreach (var cnt in s.Children)
                        {
                            if (cnt is TextBox)
                            {
                                TextBox t1 = cnt as TextBox;
                                if (!string.IsNullOrEmpty(t1.Text))
                                {
                                    decimal d = 0;
                                    if (decimal.TryParse(t1.Text, out d))
                                    {
                                        jd.amount  = d;
                                        jd.EntryId = TransactionId;
                                    }
                                }
                            }
                            else if (cnt is ComboBox)
                            {
                                ComboBox c1 = cnt as ComboBox;
                                if (c1.SelectedIndex > -1)
                                {
                                    var la = c1.SelectedItem as LedgerAccount;
                                    // var logic =.Where(a => a.parentLedgerAccount.LedgerAccountId == la.LedgerAccountId).FirstOrDefault();
                                    foreach (var account in ((FinanceViewModel)DataContext).LedgerAccounts)
                                    {
                                        if (account.parentLedgerAccount != null)
                                        {
                                            if (la.LedgerAccountId == account.parentLedgerAccount.LedgerAccountId)
                                            {
                                                throw new Exception(la.AccountName + " Cannot be Selected");
                                            }
                                        }
                                    }
                                    jd.LedgerAccountId = (c1.SelectedItem as LedgerAccount).LedgerAccountId;
                                }
                            }
                        }
                        if (jd.LedgerAccountId > 0 && jd.amount > 0)
                        {
                            jdsc.Add(jd);
                        }
                    }
                }
                if (!IsJournalEntryValid())
                {
                    return;
                }
                if (jdsd.Count < 1 || jdsc.Count < 1)
                {
                    return;
                }
                else
                {
                    var totaldebits  = jdsd.Sum(a => a.amount);
                    var totalcredits = jdsc.Sum(a => a.amount);
                    if (totaldebits != totalcredits)
                    {
                        throw new Exception("Debit and Credit Do Not Balance \nOr You May have Some Error in Assigning Accounts");
                    }
                }
                //if (((App)Application.Current).V)
                //{
                //    MessageBox.Show("trial version");
                //    return;
                //}
                List <string>     debitaccounts = new List <string>();
                List <string>     creditamounts = new List <string>();
                LedgerTransaction lt            = new LedgerTransaction();
                //lt.LedgerTransactionId = TransactionId;
                lt.Date        = ((FinanceViewModel)DataContext).JournalDate;
                lt.Description = textBox1.Text;

                lt.UserId = ((FinanceViewModel)DataContext).FakeUser.UserId;
                ((FinanceViewModel)DataContext).Service.InsertLedgerTransaction(lt);
                foreach (var item in jdsd)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount              = item.amount;
                    ltd.LedgerAccountId     = item.LedgerAccountId;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ((FinanceViewModel)DataContext).Service.InsertLedgerTransactionDetail(ltd);
                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = item.LedgerAccountId;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Debit            = item.amount;
                    lg.JournalEntryDate = lt.Date;
                    ((FinanceViewModel)DataContext).Service.InsertLedgerGeneral(lg);
                    debitaccounts.Add(lg.LedgerAccount.AccountName);
                }
                foreach (var item in jdsc)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount              = item.amount;
                    ltd.LedgerAccountId     = item.LedgerAccountId;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ((FinanceViewModel)DataContext).Service.InsertLedgerTransactionDetail(ltd);
                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = item.LedgerAccountId;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Credit           = item.amount;
                    lg.JournalEntryDate = lt.Date;
                    ((FinanceViewModel)DataContext).Service.InsertLedgerGeneral(lg);
                    creditamounts.Add(lg.LedgerAccount.AccountName);
                }
                if (lt.Description.Length < 1)
                {
                    StringBuilder sb = new StringBuilder();
                    // sb.Append("Debit Account(s)");
                    foreach (var item in debitaccounts)
                    {
                        sb.AppendLine(item);
                    }
                    // sb.Append("Credit Account(s)");
                    foreach (var item in creditamounts)
                    {
                        sb.AppendLine(item);
                    }
                    lt.Description = sb.ToString();
                }


                ((FinanceViewModel)DataContext).Service.SaveAll();
                //  Messenger.Default.Send<UpdateView>(new Utility.UpdateView());
                ((FinanceViewModel)DataContext).Init2();
                // ((FinanceViewModel)DataContext).getJournalsBydate();
                ResetControls();
            }
            catch (Exception ex)
            {
                if (ex.Message == "Debit and Credit Do Not Balance")
                {
                    throw ex;
                }
                else
                {
                    ResetControls();
                    throw ex;
                }
            }
        }
Beispiel #4
0
        private void SaveInLedger(SaleOrder SaleOrder, string Mode, LedgerAccount SelectedCustomer, LedgerAccount SelectedBankAccount, string ChequeNumber)
        {
            LedgerTransaction lt = new LedgerTransaction();

            lt.Date        = DateTime.Now;
            lt.UserId      = 1;
            lt.Description = "sales  ";
            Context.LedgerTransactions.Add(lt);
            var result = Context.SaveChanges();

            if (result > 0)
            {
                if (SaleOrder.Due <= 0)
                {
                    if (Mode == "IsCash")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountAfterDiscount;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 1;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                        ltd1.Amount = SaleOrder.AmountAfterDiscount;
                        ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd1.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd1);
                        Context.SaveChanges();

                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 1;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Debit            = SaleOrder.AmountAfterDiscount;
                        lg.Credit           = 0;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        LedgerGeneral lg1 = new LedgerGeneral();
                        lg1.LedgerAccountId     = 2;
                        lg1.LedgerTransactionId = lt.LedgerTransactionId;
                        lg1.Credit           = SaleOrder.AmountAfterDiscount;
                        lg1.Debit            = 0;
                        lg1.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg1);
                        Context.SaveChanges();
                    }
                    else if (Mode == "IsCredit")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountAfterDiscount;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                        ltd1.Amount = SaleOrder.AmountAfterDiscount;
                        ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd1.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd1);
                        Context.SaveChanges();

                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 2;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Debit            = 0;
                        lg.Credit           = SaleOrder.AmountAfterDiscount;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        LedgerGeneral lg1 = new LedgerGeneral();
                        lg1.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        lg1.LedgerTransactionId = lt.LedgerTransactionId;
                        lg1.Credit           = 0;
                        lg1.Debit            = SaleOrder.AmountAfterDiscount;
                        lg1.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg1);
                        Context.SaveChanges();
                    }
                    else if (Mode == "IsBank")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountAfterDiscount;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                        ltd1.Amount = SaleOrder.AmountPaid;
                        ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd1);
                        Context.SaveChanges();

                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 2;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Debit            = 0;
                        lg.Credit           = SaleOrder.AmountAfterDiscount;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        LedgerGeneral lg1 = new LedgerGeneral();
                        lg1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                        lg1.LedgerTransactionId = lt.LedgerTransactionId;
                        lg1.Credit           = 0;
                        lg1.Debit            = SaleOrder.AmountAfterDiscount;
                        lg1.ChequeNumber     = ChequeNumber;
                        lg1.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg1);
                        Context.SaveChanges();
                    }
                }
                else
                {
                    if (Mode == "IsCash")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountPaid;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 1;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                        ltd1.Amount = SaleOrder.AmountAfterDiscount;
                        ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd1.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd1);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd2 = new LedgerTransactionDetail();
                        ltd2.Amount = SaleOrder.Due;
                        ltd2.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd2);
                        Context.SaveChanges();

                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 1;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Credit           = 0;
                        lg.Debit            = SaleOrder.AmountPaid;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        LedgerGeneral lg1 = new LedgerGeneral();
                        lg1.LedgerAccountId     = 2;
                        lg1.LedgerTransactionId = lt.LedgerTransactionId;
                        lg1.Debit            = 0;
                        lg1.Credit           = SaleOrder.AmountAfterDiscount;
                        lg1.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg1);
                        Context.SaveChanges();

                        LedgerGeneral lg2 = new LedgerGeneral();
                        lg2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        lg2.LedgerTransactionId = lt.LedgerTransactionId;
                        lg2.Credit           = 0;
                        lg2.Debit            = SaleOrder.Due;
                        lg2.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg2);
                        Context.SaveChanges();
                    }
                    else if (Mode == "IsCredit")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountAfterDiscount;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();

                        if (SaleOrder.AmountPaid > 0)
                        {
                            LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                            ltd1.Amount = SaleOrder.AmountPaid;
                            ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                            ltd1.LedgerAccountId     = 1;
                            Context.LedgerTransactionDetails.Add(ltd1);
                            Context.SaveChanges();
                        }

                        LedgerTransactionDetail ltd2 = new LedgerTransactionDetail();
                        ltd2.Amount = SaleOrder.Due;
                        ltd2.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd2);
                        Context.SaveChanges();

                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 2;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Debit            = 0;
                        lg.Credit           = SaleOrder.AmountAfterDiscount;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        if (SaleOrder.AmountPaid > 0)
                        {
                            LedgerGeneral lg1 = new LedgerGeneral();
                            lg1.LedgerAccountId     = 1;
                            lg1.LedgerTransactionId = lt.LedgerTransactionId;
                            lg1.Credit           = 0;
                            lg1.Debit            = SaleOrder.AmountPaid;
                            lg1.JournalEntryDate = lt.Date;
                            Context.Ledgergenerals.Add(lg1);
                            Context.SaveChanges();
                        }

                        LedgerGeneral lg2 = new LedgerGeneral();
                        lg2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        lg2.LedgerTransactionId = lt.LedgerTransactionId;
                        lg2.Credit           = 0;
                        lg2.Debit            = SaleOrder.Due;
                        lg2.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg2);
                        Context.SaveChanges();
                    }
                    else if (Mode == "IsBank")
                    {
                        LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                        ltd.Amount = SaleOrder.AmountAfterDiscount;
                        ltd.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd.LedgerAccountId     = 2;
                        Context.LedgerTransactionDetails.Add(ltd);
                        Context.SaveChanges();


                        LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                        ltd1.Amount = SaleOrder.AmountPaid;
                        ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd1);
                        Context.SaveChanges();

                        LedgerTransactionDetail ltd2 = new LedgerTransactionDetail();
                        ltd2.Amount = SaleOrder.Due;
                        ltd2.LedgerTransactionId = lt.LedgerTransactionId;
                        ltd2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        Context.LedgerTransactionDetails.Add(ltd2);
                        Context.SaveChanges();



                        LedgerGeneral lg = new LedgerGeneral();
                        lg.LedgerAccountId     = 2;
                        lg.LedgerTransactionId = lt.LedgerTransactionId;
                        lg.Credit           = SaleOrder.AmountAfterDiscount;
                        lg.Debit            = 0;
                        lg.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg);
                        Context.SaveChanges();

                        LedgerGeneral lg1 = new LedgerGeneral();
                        lg1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                        lg1.LedgerTransactionId = lt.LedgerTransactionId;
                        lg1.Credit           = 0;
                        lg1.Debit            = SaleOrder.AmountPaid;
                        lg1.ChequeNumber     = ChequeNumber;
                        lg1.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg1);
                        Context.SaveChanges();

                        LedgerGeneral lg2 = new LedgerGeneral();
                        lg2.LedgerAccountId     = SelectedCustomer.LedgerAccountId;
                        lg2.LedgerTransactionId = lt.LedgerTransactionId;
                        lg2.Debit            = SaleOrder.Due;
                        lg2.Credit           = 0;
                        lg2.JournalEntryDate = lt.Date;
                        Context.Ledgergenerals.Add(lg2);
                        Context.SaveChanges();
                    }
                }
            }
        }
Beispiel #5
0
        private void ResolvePaymentMode(Invoice voice, LedgerTransaction lt, LedgerAccount account)
        {
            if (SelectedPurchaseVm.Due <= 0)
            {
                if (IsCash)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount = voice.Total;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd.LedgerAccountId     = 1;

                    AccountService.SaveLedgerTransactionDetail(ltd);
                    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                    ltd1.Amount = voice.Total;
                    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd1.LedgerAccountId     = 3;
                    AccountService.SaveLedgerTransactionDetail(ltd1);

                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = 1;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Credit           = voice.Total;
                    lg.Debit            = 0;
                    lg.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg);

                    LedgerGeneral lg1 = new LedgerGeneral();
                    lg1.LedgerAccountId     = 3;
                    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                    lg1.Debit            = voice.Total;
                    lg1.Credit           = 0;
                    lg1.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg1);
                }
                else if (IsCredit)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount = voice.Total;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd.LedgerAccountId     = 3;
                    AccountService.SaveLedgerTransactionDetail(ltd);

                    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                    ltd1.Amount = voice.Total;
                    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd1.LedgerAccountId     = account.LedgerAccountId;
                    AccountService.SaveLedgerTransactionDetail(ltd1);

                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = 3;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Debit            = voice.Total;
                    lg.Credit           = 0;
                    lg.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg);

                    LedgerGeneral lg1 = new LedgerGeneral();
                    lg1.LedgerAccountId     = account.LedgerAccountId;
                    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                    lg1.Credit           = voice.Total;
                    lg1.Debit            = 0;
                    lg1.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg1);
                }
                else if (IsBank)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount = voice.Total;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd.LedgerAccountId     = 3;
                    AccountService.SaveLedgerTransactionDetail(ltd);

                    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                    ltd1.Amount = voice.Total;
                    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                    AccountService.SaveLedgerTransactionDetail(ltd1);

                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = 3;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Debit            = voice.Total;
                    lg.Credit           = 0;
                    lg.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg);

                    LedgerGeneral lg1 = new LedgerGeneral();
                    lg1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                    lg1.Credit           = voice.Total;
                    lg1.Debit            = 0;
                    lg1.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg1);
                }
            }
            else
            {
                if (IsCash)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount = voice.AmountPaid;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd.LedgerAccountId     = 1;
                    AccountService.SaveLedgerTransactionDetail(ltd);

                    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                    ltd1.Amount = voice.Total;
                    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd1.LedgerAccountId     = 3;
                    AccountService.SaveLedgerTransactionDetail(ltd1);

                    LedgerTransactionDetail ltd2 = new LedgerTransactionDetail();
                    ltd2.Amount = voice.Due;
                    ltd2.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd2.LedgerAccountId     = account.LedgerAccountId;
                    AccountService.SaveLedgerTransactionDetail(ltd2);

                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = 1;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Credit           = voice.AmountPaid;
                    lg.Debit            = 0;
                    lg.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg);

                    LedgerGeneral lg1 = new LedgerGeneral();
                    lg1.LedgerAccountId     = 3;
                    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                    lg1.Debit            = voice.Total;
                    lg1.Credit           = 0;
                    lg1.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg1);

                    LedgerGeneral lg2 = new LedgerGeneral();
                    lg2.LedgerAccountId     = account.LedgerAccountId;
                    lg2.LedgerTransactionId = lt.LedgerTransactionId;
                    lg2.Debit            = 0;
                    lg2.Credit           = voice.Due;
                    lg2.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg2);
                }
                //else if (IsCredit)
                //{
                //    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                //    ltd.Amount = voice.Total;
                //    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                //    ltd.LedgerAccountId = 3;
                //    AccountService.SaveLedgerTransactionDetail(ltd);

                //    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                //    ltd1.Amount = voice.Total;
                //    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                //    ltd1.LedgerAccountId = account.LedgerAccountId;
                //    AccountService.SaveLedgerTransactionDetail(ltd1);

                //    LedgerGeneral lg = new LedgerGeneral();
                //    lg.LedgerAccountId = 3;
                //    lg.LedgerTransactionId = lt.LedgerTransactionId;
                //    lg.Debit = voice.Total;
                //    lg.Credit = 0;
                //    lg.JournalEntryDate = lt.Date;
                //    AccountService.SaveLedgerGeneral(lg);

                //    LedgerGeneral lg1 = new LedgerGeneral();
                //    lg1.LedgerAccountId = account.LedgerAccountId;
                //    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                //    lg1.Credit = voice.Total;
                //    lg1.Debit = 0;
                //    lg1.JournalEntryDate = lt.Date;
                //    AccountService.SaveLedgerGeneral(lg1);
                //}
                else if (IsBank)
                {
                    LedgerTransactionDetail ltd = new LedgerTransactionDetail();
                    ltd.Amount = voice.Total;
                    ltd.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd.LedgerAccountId     = 3;
                    AccountService.SaveLedgerTransactionDetail(ltd);

                    LedgerTransactionDetail ltd1 = new LedgerTransactionDetail();
                    ltd1.Amount = voice.AmountPaid;
                    ltd1.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                    AccountService.SaveLedgerTransactionDetail(ltd1);

                    LedgerTransactionDetail ltd2 = new LedgerTransactionDetail();
                    ltd2.Amount = voice.Due;
                    ltd2.LedgerTransactionId = lt.LedgerTransactionId;
                    ltd2.LedgerAccountId     = account.LedgerAccountId;
                    AccountService.SaveLedgerTransactionDetail(ltd2);



                    LedgerGeneral lg = new LedgerGeneral();
                    lg.LedgerAccountId     = 3;
                    lg.LedgerTransactionId = lt.LedgerTransactionId;
                    lg.Debit            = voice.Total;
                    lg.Credit           = 0;
                    lg.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg);

                    LedgerGeneral lg1 = new LedgerGeneral();
                    lg1.LedgerAccountId     = SelectedBankAccount.LedgerAccountId;
                    lg1.LedgerTransactionId = lt.LedgerTransactionId;
                    lg1.Credit           = voice.AmountPaid;
                    lg1.Debit            = 0;
                    lg1.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg1);

                    LedgerGeneral lg2 = new LedgerGeneral();
                    lg2.LedgerAccountId     = account.LedgerAccountId;
                    lg2.LedgerTransactionId = lt.LedgerTransactionId;
                    lg2.Credit           = voice.Due;
                    lg2.Debit            = 0;
                    lg2.JournalEntryDate = lt.Date;
                    AccountService.SaveLedgerGeneral(lg2);
                }
            }
        }
Beispiel #6
0
 public int DeleteLedgerTransactionDetail(LedgerTransactionDetail LedgerTransactionDetail)
 {
     Context.LedgerTransactionDetails.Remove(LedgerTransactionDetail);
     return(SaveAll());
 }
Beispiel #7
0
 public async Task <int> DeleteLedgerTransactionDetailAsync(LedgerTransactionDetail LedgerTransactionDetail)
 {
     Context.LedgerTransactionDetails.Remove(LedgerTransactionDetail);
     return(await SaveAllAsync());
 }
Beispiel #8
0
 public int InsertLedgerTransactionDetail(LedgerTransactionDetail LedgerTransactionDetail)
 {
     Context.LedgerTransactionDetails.Add(LedgerTransactionDetail);
     return(SaveAll());
 }