예제 #1
0
        public LedgerPosting Save(LedgerPosting ledger)
        {
            var ledgerDetails = ledgerService.GetById(ledger.LedgerId);
            // var isExists = service.GetAll().Where(a => a.InvoiceNo == ledger.InvoiceNo && a.LedgerId == ledger.LedgerId).FirstOrDefault();
            var max = service.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (max == null)
            {
                ledger.Id = 1;
            }
            else
            {
                ledger.Id = max.Id + 1;
            }

            if (ledger.VoucherNo == null)
            {
                ledger.VoucherNo = max.VoucherNo + 1;
            }
            ledger.YearId   = CurrentSession.GetCurrentSession().FinancialYear;
            ledger.IsActive = true;
            var result = service.Save(ledger);

            return(result);
        }
예제 #2
0
        public Category Save(Category cus)
        {
            var isExists = service.GetAll().Where(a => a.CategoryName == cus.CategoryName || a.Code == cus.Code).FirstOrDefault();

            if (isExists != null)
            {
                return(null);
            }
            service.Save(cus);
            return(cus);
        }
예제 #3
0
        public AccountGroup Save(AccountGroup cus)
        {
            var isExists = service.GetAll().Where(a => a.AccountGroupName == cus.AccountGroupName).FirstOrDefault();
            var max      = service.LastRow().OrderByDescending(a => a.Id).FirstOrDefault().Id;

            cus.Id = max + 1;
            if (isExists != null)
            {
                return(null);
            }
            service.Save(cus);
            return(cus);
        }
예제 #4
0
        public Supplier Save(Supplier cus)
        {
            var max = service.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (max == null)
            {
                cus.Id = 1;
            }
            else
            {
                cus.Id = max.Id + 1;
            }
            return(service.Save(cus));
        }
예제 #5
0
        public PartyBalance Save(PartyBalance partyBalance)
        {
            var isExists = service.GetAll().Where(a => a.LedgerId == partyBalance.LedgerId).OrderByDescending(a => a.PartyBalanceId).FirstOrDefault();
            var max      = service.LastRow().OrderByDescending(a => a.PartyBalanceId).FirstOrDefault();

            if (max == null)
            {
                partyBalance.PartyBalanceId = 1;
            }
            else
            {
                partyBalance.PartyBalanceId = max.PartyBalanceId + 1;
            }

            if (isExists != null)
            {
                if (partyBalance.Credit > 0)
                {
                    var newbalance = isExists.Balance + partyBalance.Credit;
                    partyBalance.Balance = newbalance;
                }
                if (partyBalance.Debit > 0)
                {
                    var newbalance = isExists.Balance - partyBalance.Debit;
                    partyBalance.Balance = newbalance;
                }
            }
            else
            {
                if (partyBalance.Credit > 0)
                {
                    partyBalance.Balance = partyBalance.Credit;
                }
                if (partyBalance.Debit > 0)
                {
                    partyBalance.Balance = (-1) * partyBalance.Debit;
                }
            }
            partyBalance.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear;
            service.Save(partyBalance);
            //if (partyBalance != null)
            //{
            //    SqlParameter param = new SqlParameter("@LedgerId", partyBalance.LedgerId);
            //    List<SqlParameter> paramss = new List<SqlParameter>();

            //    paramss.Add(param);
            //    service.ExecuteProcedure("Exec BalanceReconcilation " + partyBalance.LedgerId + "",paramss,true);
            //}
            return(partyBalance);
        }
예제 #6
0
        public LedgerPosting Save(LedgerPosting cus)
        {
            var isExists = service.GetAll().Where(a => a.LedgerId == cus.LedgerId && a.YearId == cus.YearId).FirstOrDefault();
            var max      = service.LastRow().OrderByDescending(a => a.Id).FirstOrDefault().Id;

            cus.Id = max + 1;
            if (isExists != null)
            {
                return(null);
            }
            cus.YearId = CurrentSession.GetCurrentSession().FinancialYear;
            service.Save(cus);
            return(cus);
        }
예제 #7
0
        public StockOut Save(StockOut stockOut)
        {
            var existingItem = inventory.GetAll(a => a.ProductId == stockOut.ProductId && a.QtyInBale == stockOut.BaleWeight && a.IsActive == true && a.WarehouseId == stockOut.WarehouseId && a.SupplierId == stockOut.SupplierId).ToList();

            if (existingItem.Count > 0)
            {
                foreach (var inv in existingItem)
                {
                    inv.UpdatedDate   = DateTime.Now;
                    inv.UpdatedBy     = CurrentSession.GetCurrentSession().UserName;
                    inv.ProductionQty = stockOut.BaleQty;
                    inv.BalanceQty    = inv.BalanceQty - stockOut.BaleQty ?? 0;
                    inventory.Update(inv, inv.Id);
                }
            }
            return(service.Save(stockOut));
        }
예제 #8
0
        public AdditionalCost AddCostSave(AdditionalCost addCost)
        {
            var isExists = addCostService.GetAll().Where(a => a.VoucherNo == addCost.VoucherNo && a.LedgerId == addCost.LedgerId).FirstOrDefault();
            var max      = addCostService.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (max == null)
            {
                addCost.Id = 1;
            }
            else
            {
                addCost.Id = max.Id + 1;
            }
            var result = addCostService.Save(addCost);

            return(result);
        }
예제 #9
0
        public Inventory InventoryIncrement(Inventory cus)
        {
            var inventory = new Inventory();
            var existing  = service.GetAll(a => a.ProductId == cus.ProductId && a.WarehouseId == cus.WarehouseId).FirstOrDefault();

            if (existing != null)
            {
                existing.BalanceQty += cus.BalanceQty;
                existing.ReceiveQty  = cus.ReceiveQty;
                inventory            = service.Update(existing, existing.Id);
            }
            else
            {
                inventory = service.Save(cus);
            }
            return(inventory);
        }
예제 #10
0
        public StockIn Save(StockIn stockIn, string Notes)
        {
            var goodsType = 1;
            var product   = productService.GetById(stockIn.ProductId);

            if (product != null)
            {
                goodsType = product.ProductTypeId ?? 1;
            }
            var existingItem = inventory.GetAll(a => a.ProductId == stockIn.ProductId && a.IsActive == true && a.WarehouseId == stockIn.WarehouseId).ToList();

            if (existingItem.Count > 0)
            {
                foreach (var inv in existingItem)
                {
                    inv.UpdatedDate = DateTime.Now;
                    inv.UpdatedBy   = "";
                    inv.BalanceQty  = inv.BalanceQty + stockIn.BaleQty ?? 0;
                    inv.ReceiveQty  = inv.ReceiveQty ?? 0 + stockIn.BaleQty ?? 0;
                    inv.GoodsType   = goodsType.ToString();
                    inventory.Update(inv, inv.Id);
                }
            }
            else
            {
                Inventory result      = new Inventory();
                Inventory FinalResult = new Inventory();
                result.ProductId   = (int)stockIn.ProductId;
                result.QtyInBale   = (int?)stockIn.BaleWeight;
                result.SupplierId  = stockIn.SupplierId ?? 0;
                result.WarehouseId = (int)stockIn.WarehouseId;
                result.ReceiveQty  = stockIn.BaleQty;
                result.BalanceQty  = stockIn.BaleQty ?? 0;
                result.Notes       = Notes;
                result.GoodsType   = goodsType.ToString();
                result.CreatedBy   = CurrentSession.GetCurrentSession().UserName;
                result.CreatedDate = DateTime.Now;
                result.IsActive    = true;
                FinalResult        = inventory.Save(result);
            }
            return(service.Save(stockIn));
        }
예제 #11
0
        public SalaryPayment Save(SalaryPayment SP)
        {
            var max = service.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            SP.VoucherNo = max.VoucherNo;
            SP.LedgerId  = max.LedgerId;

            var Max = salaryPayment.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (Max == null)
            {
                SP.Id = 1;
            }
            else
            {
                SP.Id = max.Id + 1;
            }
            var result = salaryPayment.Save(SP);

            return(result);
        }
예제 #12
0
        public JournalDetail Save(JournalDetail JDetails)
        {
            var max = journalDetails.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (max == null)
            {
                JDetails.Id = 1;
            }
            else
            {
                JDetails.Id = max.Id + 1;
            }
            int value = int.Parse(journalMaster.LastRow().OrderByDescending(p => p.Id).Select(r => r.Id).First().ToString());

            JDetails.JournalMasterId = value;


            var result = journalDetails.Save(JDetails);

            return(result);
        }
예제 #13
0
        public JournalMaster Save(JournalMaster JMaster)
        {
            //    var ledgerDetails = ledgerService.GetById(ledger.LedgerId);
            //    var isExists = service.GetAll().Where(a => a.InvoiceNo == ledger.InvoiceNo && a.LedgerId == ledger.LedgerId).FirstOrDefault();
            var max = journalMaster.LastRow().OrderByDescending(a => a.Id).FirstOrDefault();

            if (max == null)
            {
                JMaster.Id = 1;
            }
            else
            {
                JMaster.Id = max.Id + 1;
            }
            var financialYear = CurrentSession.GetCurrentSession().FinancialYear;

            JMaster.YearId        = CurrentSession.GetCurrentSession().FinancialYear;
            JMaster.VoucherTypeId = 6;
            JMaster.UserId        = CurrentSession.GetCurrentSession().UserId;

            var result = journalMaster.Save(JMaster);

            return(result);
        }
예제 #14
0
 public Customer Save(Customer cus)
 {
     return(service.Save(cus));
 }
예제 #15
0
 public RoleWiseScreenPermission SaveRoleWisePermission(RoleWiseScreenPermission cus)
 {
     return(roleService.Save(cus));
 }
예제 #16
0
 public UserInfo Save(UserInfo cus)
 {
     return(service.Save(cus));
 }
예제 #17
0
 public Employee Save(Employee cus)
 {
     return(service.Save(cus));
 }
예제 #18
0
 public Brand Save(Brand cus)
 {
     service.Save(cus);
     return(cus);
 }
예제 #19
0
 public Unit Save(Unit cus)
 {
     service.Save(cus);
     return(cus);
 }
예제 #20
0
 public Tax Save(Tax cus)
 {
     return(service.Save(cus));
 }
예제 #21
0
        public ReceiveMaster Save(ReceiveMaster cus, int wareHouseId, int goodsType)
        {
            var supplier = supplierService.GetById(cus.SupplierID);

            cus.YearId = financialYearId;
            var result = service.Save(cus);

            if (result != null || result.Id > 0)
            {
                foreach (var item in cus.ReceiveDetails)
                {
                    var product = productService.GetById(item.ProductId);
                    if (product != null)
                    {
                        goodsType = product.ProductTypeId ?? 1;
                    }
                    var existingItem = inventory.GetAll(a => a.ProductId == item.ProductId && a.IsActive == true && a.WarehouseId == wareHouseId).ToList();
                    if (existingItem.Count > 0)
                    {
                        foreach (var inv in existingItem)
                        {
                            inv.UpdatedDate = DateTime.Now;
                            inv.UpdatedBy   = "";
                            inv.BalanceQty  = inv.BalanceQty + item.Qty;
                            inv.ReceiveQty  = inv.ReceiveQty ?? 0 + item.Qty;
                            inventory.Update(inv, inv.Id);
                        }
                    }
                    else
                    {
                        Inventory inv = new Inventory();
                        inv.IsActive    = true;
                        inv.ProductId   = item.ProductId;
                        inv.ReceiveQty  = item.Qty;
                        inv.QtyInBale   = 0;
                        inv.SupplierId  = cus.SupplierID;
                        inv.WarehouseId = wareHouseId;
                        inv.OpeningQty  = 0;
                        inv.BalanceQty  = item.Qty;
                        inv.GoodsType   = goodsType.ToString();
                        inventory.Save(inv);
                    }
                }
                // Ledger posting debit to purchase account

                var ledgerObj = new LedgerPosting();
                ledgerObj.VoucherTypeId = (int)VoucherType.PurchaseInvoice;
                ledgerObj.VoucherNo     = result.InvoiceNoPaper;
                ledgerObj.PostingDate   = cus.InvoiceDate;
                ledgerObj.LedgerId      = (int)DefaultLedger.PurchaseAccount;
                ledgerObj.InvoiceNo     = cus.InvoiceNo;
                ledgerObj.Credit        = 0;
                ledgerObj.Debit         = cus.GrandTotal;
                var save = ledgerService.Save(ledgerObj);

                //Ledger posting to customer ledger credit
                var detailsLedger = new LedgerPosting();
                detailsLedger.VoucherTypeId = (int)VoucherType.PurchaseInvoice;
                detailsLedger.VoucherNo     = result.InvoiceNoPaper;
                detailsLedger.PostingDate   = cus.InvoiceDate;
                detailsLedger.LedgerId      = supplier.LedgerId;
                detailsLedger.InvoiceNo     = cus.InvoiceNo;
                detailsLedger.Credit        = cus.GrandTotal;
                detailsLedger.Debit         = 0;
                var detailsLedgerResult = ledgerService.Save(detailsLedger);

                var party = new PartyBalance();
                party.InvoiceNo       = result.InvoiceNo;
                party.LedgerId        = supplier.LedgerId ?? 0;
                party.Credit          = cus.GrandTotal;
                party.CreditPeriod    = 60;
                party.Debit           = 0;
                party.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear;
                party.PostingDate     = cus.InvoiceDate;
                party.VoucherTypeId   = (int)VoucherType.PurchaseInvoice;
                party.VoucherNo       = result.InvoiceNo;
                party.extra1          = "Purchase Invoice: " + cus.InvoiceNo + " Coutha:" + cus.InvoiceNoPaper;
                partyBalanceService.Save(party);
            }
            return(cus);
        }
예제 #22
0
 //Sales order service
 public SalesOrder SaveSalesOrder(SalesOrder salesOrder)
 {
     return(serviceSalesOrder.Save(salesOrder));
 }
예제 #23
0
 public WareHouse Save(WareHouse cus)
 {
     return(service.Save(cus));
 }
예제 #24
0
 public SalesDetail SaveSalesDetail(SalesDetail salesDetail)
 {
     return(salesDetailsService.Save(salesDetail));
 }
예제 #25
0
 public Picture Save(Picture cus)
 {
     return(service.Save(cus));
 }
예제 #26
0
 public Product Save(Product cus)
 {
     return(service.Save(cus));
 }
예제 #27
0
        //public FinancialYear GetLatest()
        //{
        //    return service.GetAll().OrderByDescending(a=>a.Id).FirstOrDefault();
        //}

        public FinancialYear Save(FinancialYear cus)
        {
            return(service.Save(cus));
        }