Beispiel #1
0
        private void GetModelData(AdjustDebitNoteForm pqf)
        {
            if (IsNew == false)
            {
                this.ID = pqf.AdjustDebitNote.ID;
                this.SelectedSupplierID = pqf.AdjustDebitNote.SupplierID;
                this.DebitNoteNo        = pqf.AdjustDebitNote.DebitNoteNo;
                this.SelectedAccountID  = pqf.AdjustDebitNote.AccountId;
                this.Date      = pqf.AdjustDebitNote.Date;
                this.AmountStr = pqf.AdjustDebitNote.AmountStr;
                this.IsCheque  = pqf.AdjustDebitNote.IsCheque;
                if (IsCheque == true)
                {
                    IsChequeTrue = true;
                }
                else
                {
                    IsChequeFalse = true;
                }
                //this.CashChequeNo = pqf.AdjustDebitNote.CashChequeNo;
                this.Remarks = pqf.AdjustDebitNote.Remarks;
                if (this.ListSuppliers != null)
                {
                    foreach (var item in this.ListSuppliers)
                    {
                        if (item.ID == this.SelectedSupplierID)
                        {
                            this.SelectedSupplierName = item.SupplierName;
                        }
                    }
                }
            }

            var result = pqf.AdjustDebitNoteDetails.OrderByDescending(e => e.UpdatedDate).GroupBy(e => e.PurchaseNo).Select(e => e.First()).ToList();

            this.PQDetailsEntity = new ObservableCollection <CollectAmountDataGridViewModel>();
            if (result != null)
            {
                foreach (var item in result)
                {
                    CollectAmountDataGridViewModel pqEntity = new CollectAmountDataGridViewModel();
                    pqEntity.PurchaseNo        = item.PurchaseNo;
                    pqEntity.PurchaseDate      = item.PurchaseDate;
                    pqEntity.PurchaseDateStr   = changedateformat(item.PurchaseDate);
                    pqEntity.PurchaseAmountStr = Convert.ToString(item.PurchaseAmount);
                    pqEntity.PurchaseAmount    = item.PurchaseAmount;
                    pqEntity.PaymentDueDate    = item.PaymentDueDate;
                    pqEntity.PaymentDueDateStr = changedateformat(item.PaymentDueDate);
                    pqEntity.AmountDueStr      = Convert.ToString(item.AmountDue);
                    //pqEntity.AmountDue = item.AmountDue;
                    //pqEntity.AmountAdjusted = item.AmountAdjusted;
                    //pqEntity.AmountAdjustedStr = Convert.ToString(item.AmountAdjusted);
                    //pqEntity.Discount = item.Discount;

                    PQDetailsEntity.Add(pqEntity);
                    OnPropertyChanged("PQDetailsEntity");
                }
            }
            PQDetailsEntityLst = PQDetailsEntity;
        }
Beispiel #2
0
 private void GetPSData(object param)
 {
     if (SelectedSupplierID != null && SelectedSupplierID != 0)
     {
         AdjustDebitNoteForm pqf = psRepository.GetNewPS(SelectedSupplierID);
         GetModelData(pqf);
     }
 }
Beispiel #3
0
        public int SaveAdjustDebitNote(AdjustDebitNoteForm psForm)
        {
            int autoId = 0;

            try
            {
                using (SDNPurchasingDBEntities entities = new SDNPurchasingDBEntities())
                {
                    foreach (var item in psForm.AdjustDebitNoteDetails)
                    {
                        CashAndBankTransaction obj = new CashAndBankTransaction();
                        obj.Cus_Sup_Id = psForm.AdjustDebitNote.SupplierID;
                        obj.Acc_Id     = psForm.AdjustDebitNote.AccountId;
                        obj.Amount     = psForm.AdjustDebitNote.Amount;
                        //obj.Cash_Cheque_No = psForm.AdjustDebitNote.CashChequeNo;
                        obj.Cash_Cheque_Date = psForm.AdjustDebitNote.Date;
                        obj.Remarks          = psForm.AdjustDebitNote.Remarks;
                        obj.Type             = "S";
                        //obj.Is_Cheque = psForm.AdjustDebitNote.IsCheque;

                        //saving details entity
                        obj.SO_CN_PO_DN_No   = item.PurchaseNo;
                        obj.SO_CN_PO_DN_Date = item.PurchaseDate;
                        obj.SO_CN_PO_DN_Amt  = item.PurchaseAmount;
                        obj.Amt_Due          = item.AmountDue;
                        obj.Amt_Refunded     = item.AmountAdjusted;
                        obj.Discount         = item.Discount;

                        obj.UpdatedBy   = 0;
                        obj.UpdatedDate = DateTime.Now.Date;

                        entities.CashAndBankTransactions.Add(obj);
                        entities.SaveChanges();

                        if (item.AmountDue == 0 && item.AmountAdjusted == item.PurchaseAmount)
                        {
                            PurchaseInvoice invoice = entities.PurchaseInvoices.Where(e => e.PI_No == item.PurchaseNo).SingleOrDefault();
                            PurchaseOrder   order   = entities.PurchaseOrders.Where(e => e.PO_No == item.PurchaseNo).SingleOrDefault();
                            if (invoice != null)
                            {
                                invoice.PI_Status = Convert.ToByte(PI_Status.Paid);
                                entities.SaveChanges();
                            }
                            else if (order != null)
                            {
                            }
                        }

                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(autoId);
        }
        public AdjustDebitNoteForm AdjustDebitNoteDetails(string AdjustedNo)
        {
            AdjustDebitNoteForm pqf = new AdjustDebitNoteForm();

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    var pq = (from pqs in entities.AdjustedDebitNotes
                              join pi in entities.AdjustedDebitNoteDetails on pqs.ID equals pi.ADN_ID
                              where pqs.AdjustDebitNoteNumber == AdjustedNo
                              select new AdjustDebitNoteEntity
                    {
                        ID = pqs.ID,
                        SupplierID = pqs.SupplierID,
                        //Amount =  pi.SI_Tot_aft_Tax,
                        Amount = pqs.DebitNoteAmount,
                        Date = pqs.DebitNoteDate,
                        DebitNoteNo = pqs.DebitNoteNumber,
                        AdjustDebitNoteNumber = pqs.AdjustDebitNoteNumber,
                        AdjustDebitNoteDate = pqs.AdjustDebitNoteDate
                                              //CashChequeNo = pqs.Cash_Cheque_No,
                    }).FirstOrDefault();

                    if (pq != null)
                    {
                        pq.AmountStr        = Convert.ToString(pq.Amount);
                        pqf.AdjustDebitNote = pq;
                    }

                    var pqd = (from s in entities.AdjustedDebitNotes
                               join t in entities.AdjustedDebitNoteDetails on s.ID equals t.ADN_ID
                               where s.AdjustDebitNoteNumber == AdjustedNo
                               select new AdjustDebitNoteDetailsEntity
                    {
                        PurchaseNo = t.PurchaseInvoiceNo,
                        PurchaseDate = t.PurchaseInvoiceDate,
                        PaymentDueDate = t.PaymentDueDate,
                        PurchaseAmount = t.PurchaseInvoiceAmount,
                        AmountDue = t.AmountDue,
                        AmountAdjusted = t.AmountAdjusted
                    }).ToList();

                    if (pqd != null)
                    {
                        pqf.AdjustDebitNoteDetails = pqd;
                    }
                }


                return(pqf);
            }

            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #5
0
        private void GetAdjustDebitNoteDetails(string DebitNoteNo)
        {
            IsNew = false;
            AdjustDebitNoteForm pqf = psRepository.GetAdjustDebitNoteDetails(DebitNoteNo);

            pqf.AdjustDebitNote.Amount    = Math.Abs(decimal.Parse(pqf.AdjustDebitNote.Amount.ToString()));
            pqf.AdjustDebitNote.AmountStr = Math.Abs(decimal.Parse(pqf.AdjustDebitNote.AmountStr)).ToString();
            GetModelData(pqf);
        }
        public AdjustDebitNoteForm GetDataIntoModel()
        {
            OptionsEntity             oData = new OptionsEntity();
            ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository();

            oData = purchaseRepository.GetOptionSettings();
            AdjustDebitNoteForm PQForm = new AdjustDebitNoteForm();

            PQForm.AdjustDebitNoteDetails = new List <AdjustDebitNoteDetailsEntity>();
            AdjustDebitNoteEntity model = new AdjustDebitNoteEntity();

            //  this.ID = pqf.AdjustDebitNote.ID;
            model.SupplierID = this.SelectedSupplierID;
            model.AccountId  = this.SelectedAccountID;
            model.Date       = this.Date;
            model.AmountStr  = this.AmountStr;
            model.Amount     = Convert.ToDecimal(this.AmountStr);
            model.IsCheque   = this.IsCheque;
            //model.CashChequeNo = this.CashChequeNo;
            model.Remarks               = this.Remarks;
            model.DebitNoteNo           = this.DebitNoteNo;
            model.AdjustDebitNoteNumber = this.AdjustDebitNoteNumber;
            model.AdjustDebitNoteDate   = DateTime.ParseExact(this.AdjustDebitNoteDateStr, oData.DateFormat, null);
            if (this.IsChequeTrue == true)
            {
                model.IsCheque = true;
            }
            else
            {
                model.IsCheque = false;
            }

            PQForm.AdjustDebitNote = model;

            foreach (var item in PQDetailsEntity.Where(e => !(string.IsNullOrEmpty(e.AmountAdjustedStr))))
            {
                AdjustDebitNoteDetailsEntity pqEntity = new AdjustDebitNoteDetailsEntity();

                pqEntity.PurchaseNo     = item.PurchaseNo;
                pqEntity.PurchaseDate   = item.PurchaseDate;
                pqEntity.PurchaseAmount = Convert.ToDecimal(item.PurchaseAmountStr);
                //item.PurchaseAmount=pqEntity.PurchaseAmount;
                //pqEntity.PaymentDueDate = Convert.ToDateTime(item.PaymentDueDateStr);
                pqEntity.PaymentDueDate = DateTime.ParseExact(item.PaymentDueDateStr, "dd'/'MM'/'yy", CultureInfo.InvariantCulture);
                //pqEntity.AmountDueStr = Convert.ToString(item.AmountDue);
                pqEntity.AmountDue = Convert.ToDecimal(item.AmountDueStr);
                // pqEntity.AmountAdjustedStr = Convert.ToString(item.AmountAdjusted);
                pqEntity.AmountAdjusted = Convert.ToDecimal(item.AmountAdjustedStr);

                pqEntity.Discount            = Convert.ToDecimal(item.DiscountStr);
                pqEntity.CheckAmountAdjusted = item.CheckAmountAdjusted;

                PQForm.AdjustDebitNoteDetails.Add(pqEntity);
            }
            return(PQForm);
        }
Beispiel #7
0
        public AdjustDebitNoteForm GetDataIntoModel()
        {
            AdjustDebitNoteForm PQForm = new AdjustDebitNoteForm();

            PQForm.AdjustDebitNoteDetails = new List <AdjustDebitNoteDetailsEntity>();
            AdjustDebitNoteEntity model = new AdjustDebitNoteEntity();

            //  this.ID = pqf.AdjustDebitNote.ID;
            model.SupplierID = this.SelectedSupplierID;
            model.AccountId  = this.SelectedAccountID;
            model.Date       = this.Date;
            model.AmountStr  = this.AmountStr;
            model.Amount     = Convert.ToDecimal(this.AmountStr);
            model.IsCheque   = this.IsCheque;
            //model.CashChequeNo = this.CashChequeNo;
            model.Remarks     = this.Remarks;
            model.DebitNoteNo = this.DebitNoteNo;
            if (this.IsChequeTrue == true)
            {
                model.IsCheque = true;
            }
            else
            {
                model.IsCheque = false;
            }

            PQForm.AdjustDebitNote = model;

            foreach (var item in PQDetailsEntity)
            {
                AdjustDebitNoteDetailsEntity pqEntity = new AdjustDebitNoteDetailsEntity();

                pqEntity.PurchaseNo     = item.PurchaseNo;
                pqEntity.PurchaseDate   = item.PurchaseDate;
                pqEntity.PurchaseAmount = Convert.ToDecimal(item.PurchaseAmountStr);
                //item.PurchaseAmount=pqEntity.PurchaseAmount;
                //pqEntity.PaymentDueDate = Convert.ToDateTime(item.PaymentDueDateStr);
                pqEntity.PaymentDueDate = DateTime.ParseExact(item.PaymentDueDateStr, "dd'/'MM'/'yyyy", CultureInfo.InvariantCulture);
                //pqEntity.AmountDueStr = Convert.ToString(item.AmountDue);
                pqEntity.AmountDue = Convert.ToDecimal(item.AmountDueStr);
                // pqEntity.AmountAdjustedStr = Convert.ToString(item.AmountAdjusted);
                pqEntity.AmountAdjusted = Convert.ToDecimal(item.AmountAdjustedStr);

                pqEntity.Discount            = Convert.ToDecimal(item.DiscountStr);
                pqEntity.CheckAmountAdjusted = item.CheckAmountAdjusted;

                PQForm.AdjustDebitNoteDetails.Add(pqEntity);
            }
            return(PQForm);
        }
        void OnSavePS(object param)
        {
            MessageBoxResult result = System.Windows.MessageBox.Show("Do you want to save changes?", "Save Confirmation", MessageBoxButton.YesNo);

            if (result == MessageBoxResult.Yes)
            {
                Mouse.OverrideCursor = Cursors.Wait;
                string msg = ValidateAdjustDebitNote();
                AdjustDebitNoteForm PSForm = GetDataIntoModel();

                if (msg != string.Empty)
                {
                    PSErrors             = msg;
                    Mouse.OverrideCursor = null;
                    return;
                }

                PSErrors = string.Empty;

                if (PSForm != null)
                {
                    int type = Convert.ToInt32(CashBankTransactionType.AdjustDebitNote);
                    if (IsNew == true)
                    {
                        int i = psRepository.SaveAdjustDebitNote(PSForm, type);
                    }
                    else
                    {
                        int i = psRepository.UpdateAdjustDebitNote(PSForm, type);
                        if (i != null || i != 0)
                        {
                            this.EnableSaveButton = false;
                        }
                        else
                        {
                            this.EnableSaveButton = true;
                        }
                    }

                    Mouse.OverrideCursor = null;
                }
            }
        }
        private void AdjustedDebitNoteDetails(string AdjustedNo)
        {
            OptionsEntity             oData = new OptionsEntity();
            ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository();

            oData = purchaseRepository.GetOptionSettings();
            IsNew = false;
            AdjustDebitNoteForm pqf = psRepository.AdjustDebitNoteDetails(AdjustedNo);

            pqf.AdjustDebitNote.Amount      = Math.Abs(decimal.Parse(pqf.AdjustDebitNote.Amount.ToString()));
            pqf.AdjustDebitNote.AmountStr   = Math.Abs(decimal.Parse(pqf.AdjustDebitNote.AmountStr)).ToString();
            pqf.AdjustDebitNote.MustCompare = true;
            if (pqf.AdjustDebitNote.AdjustDebitNoteDate == null)
            {
                this.AdjustDebitNoteDateStr = "";
            }
            else
            {
                DateTime Dateinstr = (DateTime)pqf.AdjustDebitNote.AdjustDebitNoteDate;
                this.AdjustDebitNoteDateStr = Dateinstr.ToString(oData.DateFormat);
            }
            GetModelData(pqf);
        }
Beispiel #10
0
        public AdjustDebitNoteForm GetNewPS(int?SupplierID)
        {
            AdjustDebitNoteForm pqf = new AdjustDebitNoteForm();

            try
            {
                using (SDNPurchasingDBEntities entities = new SDNPurchasingDBEntities())
                {
                    var pqd = entities.Database.SqlQuery <AdjustDebitNoteDetailsEntity>("PRC_GetPurchaseDataForAdjustDebitNotes @SupplierID={0}", SupplierID).ToList();

                    if (pqd != null)
                    {
                        pqf.AdjustDebitNoteDetails = pqd;
                    }

                    return(pqf);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void GetModelData(AdjustDebitNoteForm pqf)
        {
            if (IsNew == false)
            {
                this.ID = pqf.AdjustDebitNote.ID;
                this.SelectedSupplierID = pqf.AdjustDebitNote.SupplierID;
                this.DebitNoteNo        = pqf.AdjustDebitNote.DebitNoteNo;
                this.SelectedAccountID  = pqf.AdjustDebitNote.AccountId;
                this.Date                  = pqf.AdjustDebitNote.Date;
                this.AmountStr             = pqf.AdjustDebitNote.AmountStr;
                this.IsCheque              = pqf.AdjustDebitNote.IsCheque;
                this.AdjustDebitNoteNumber = pqf.AdjustDebitNote.AdjustDebitNoteNumber;


                if (IsCheque == true)
                {
                    IsChequeTrue = true;
                }
                else
                {
                    IsChequeFalse = true;
                }
                //this.CashChequeNo = pqf.AdjustDebitNote.CashChequeNo;
                this.Remarks = pqf.AdjustDebitNote.Remarks;
                if (this.ListSuppliers != null)
                {
                    foreach (var item in this.ListSuppliers)
                    {
                        if (item.ID == this.SelectedSupplierID)
                        {
                            this.SelectedSupplierName = item.SupplierName;
                        }
                    }
                }
            }

            var                       result             = pqf.AdjustDebitNoteDetails.OrderByDescending(e => e.UpdatedDate).GroupBy(e => e.PurchaseNo).Select(e => e.First()).ToList();
            OptionsEntity             oData              = new OptionsEntity();
            ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository();

            oData = purchaseRepository.GetOptionSettings();
            this.PQDetailsEntity = new ObservableCollection <CollectAmountDataGridViewModel>();
            if (result != null)
            {
                foreach (var item in result)
                {
                    CollectAmountDataGridViewModel pqEntity = new CollectAmountDataGridViewModel();
                    pqEntity.PurchaseNo = item.PurchaseNo;
                    if (item.PurchaseDate != null)
                    {
                        pqEntity.PurchaseDate = item.PurchaseDate;
                        DateTime Dateinstr = (DateTime)item.PurchaseDate;
                        pqEntity.PurchaseDateStr = Dateinstr.ToString(oData.DateFormat);
                    }
                    else
                    {
                    }
                    pqEntity.PurchaseAmountStr = Convert.ToString(item.PurchaseAmount);
                    pqEntity.PurchaseAmount    = item.PurchaseAmount;
                    if (item.PaymentDueDate != null)
                    {
                        pqEntity.PaymentDueDate = item.PaymentDueDate;
                        DateTime Dateinstr1 = (DateTime)item.PaymentDueDate;
                        pqEntity.PaymentDueDateStr = changedateformat(item.PaymentDueDate);
                    }
                    else
                    {
                    }
                    pqEntity.AmountDueStr = Convert.ToString(item.AmountDue);
                    //pqEntity.AmountDue = item.AmountDue;
                    pqEntity.AmountAdjusted    = item.AmountAdjusted;
                    pqEntity.AmountAdjustedStr = Convert.ToString(item.AmountAdjusted);
                    //pqEntity.Discount = item.Discount;

                    PQDetailsEntity.Add(pqEntity);
                    TotalPurchaseAmount = Convert.ToString(PQDetailsEntity.Sum(e => e.PurchaseAmount));
                    TotalAdjutedAmount  = Convert.ToString(PQDetailsEntity.Sum(e => e.AmountAdjusted));
                    OnPropertyChanged("PQDetailsEntity");
                }
            }
            PQDetailsEntityLst = PQDetailsEntity;
        }
Beispiel #12
0
        public int SaveAdjustDebitNote(AdjustDebitNoteForm psForm)
        {
            IAdjustDebitNoteBL psBL = new AdjustDebitNoteBL();

            return(psBL.SaveAdjustDebitNote(psForm));
        }
Beispiel #13
0
        public int UpdateAdjustDebitNote(AdjustDebitNoteForm psForm)
        {
            try
            {
                using (SDNPurchasingDBEntities entities = new SDNPurchasingDBEntities())
                {
                    foreach (var item in psForm.AdjustDebitNoteDetails)
                    {
                        if (item.CheckAmountAdjusted == true)
                        {
                            CashAndBankTransaction obj = entities.CashAndBankTransactions.Where(e => e.SO_CN_PO_DN_No == item.PurchaseNo).SingleOrDefault();
                            if (obj != null)
                            {
                                obj.Acc_Id = psForm.AdjustDebitNote.AccountId;
                                obj.Amount = psForm.AdjustDebitNote.Amount;
                                //obj.Cash_Cheque_No = psForm.AdjustDebitNote.CashChequeNo;
                                obj.Cash_Cheque_Date = psForm.AdjustDebitNote.Date;
                                obj.Remarks          = psForm.AdjustDebitNote.Remarks;
                                obj.Is_Cheque        = psForm.AdjustDebitNote.IsCheque;
                                //saving details entity
                                obj.SO_CN_PO_DN_No   = item.PurchaseNo;
                                obj.SO_CN_PO_DN_Date = item.PurchaseDate;
                                obj.SO_CN_PO_DN_Amt  = item.PurchaseAmount;
                                obj.Amt_Due          = item.AmountDue;
                                obj.Amt_Refunded     = item.AmountAdjusted;
                                obj.Discount         = item.Discount;
                                obj.DN_CN_No         = psForm.AdjustDebitNote.DebitNoteNo;

                                obj.UpdatedBy   = 0;
                                obj.UpdatedDate = DateTime.Now.Date;
                                entities.SaveChanges();

                                if (item.AmountDue == 0 && item.AmountAdjusted == item.PurchaseAmount)
                                {
                                    PurchaseInvoice invoice = entities.PurchaseInvoices.Where(e => e.PI_No == item.PurchaseNo).SingleOrDefault();
                                    //PurchaseOrder order = entities.PurchaseOrders.Where(e => e.PO_No == item.PurchaseNo).SingleOrDefault();
                                    if (invoice != null)
                                    {
                                        invoice.PI_Status = Convert.ToByte(PI_Status.Paid);
                                        entities.SaveChanges();
                                    }
                                    //else if (order != null)
                                    //{
                                    //}
                                    DebitNote debit = entities.DebitNotes.Where(e => e.DN_No == psForm.AdjustDebitNote.DebitNoteNo).SingleOrDefault();
                                    if (debit != null)
                                    {
                                        debit.DN_Status = Convert.ToByte(DN_Status.Adjusted);
                                        entities.SaveChanges();
                                    }
                                }
                            }
                            else
                            {
                                CashAndBankTransaction cashbankobj = new CashAndBankTransaction()
                                {
                                    Acc_Id           = psForm.AdjustDebitNote.AccountId,
                                    Amount           = psForm.AdjustDebitNote.Amount,
                                    Cash_Cheque_Date = psForm.AdjustDebitNote.Date,
                                    Remarks          = psForm.AdjustDebitNote.Remarks,
                                    Is_Cheque        = psForm.AdjustDebitNote.IsCheque,
                                    SO_CN_PO_DN_No   = item.PurchaseNo,
                                    SO_CN_PO_DN_Date = item.PurchaseDate,
                                    SO_CN_PO_DN_Amt  = item.PurchaseAmount,
                                    Amt_Due          = item.AmountDue,
                                    Amt_Refunded     = item.AmountAdjusted,
                                    Discount         = item.Discount,
                                    UpdatedBy        = 0,
                                    UpdatedDate      = DateTime.Now.Date,
                                    Cus_Sup_Id       = psForm.AdjustDebitNote.SupplierID,
                                    DN_CN_No         = psForm.AdjustDebitNote.DebitNoteNo,
                                    Type             = "S"
                                };
                                entities.CashAndBankTransactions.Add(cashbankobj);
                                entities.SaveChanges();
                                if (item.AmountDue == 0 && item.AmountAdjusted == item.PurchaseAmount)
                                {
                                    PurchaseInvoice invoice = entities.PurchaseInvoices.Where(e => e.PI_No == item.PurchaseNo).SingleOrDefault();
                                    //PurchaseOrder order = entities.PurchaseOrders.Where(e => e.PO_No == item.PurchaseNo).SingleOrDefault();
                                    if (invoice != null)
                                    {
                                        invoice.PI_Status = Convert.ToByte(PI_Status.Paid);
                                        entities.SaveChanges();
                                    }
                                    //else if (order != null)
                                    //{
                                    //}
                                }
                                DebitNote debit = entities.DebitNotes.Where(e => e.DN_No == psForm.AdjustDebitNote.DebitNoteNo).SingleOrDefault();
                                if (debit != null)
                                {
                                    debit.DN_Status = Convert.ToByte(DN_Status.Adjusted);
                                    entities.SaveChanges();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(psForm.AdjustDebitNote.ID);
        }
        public int UpdateAdjustDebitNote(AdjustDebitNoteForm psForm, int Type)
        {
            int    autoID     = 0;
            string AdjustedNo = string.Empty;

            try
            {
                using (SASEntitiesEDM entities = new SASEntitiesEDM())
                {
                    //adjusted table entity
                    //adjusted debit note
                    AdjustedDebitNote Adn = new AdjustedDebitNote();
                    Adn.SupplierID            = psForm.AdjustDebitNote.SupplierID;
                    Adn.AdjustDebitNoteNumber = psForm.AdjustDebitNote.AdjustDebitNoteNumber;
                    Adn.AdjustDebitNoteDate   = Convert.ToDateTime(psForm.AdjustDebitNote.AdjustDebitNoteDateStr);
                    Adn.DebitNoteNumber       = psForm.AdjustDebitNote.DebitNoteNo;
                    Adn.DebitNoteDate         = psForm.AdjustDebitNote.Date;
                    Adn.DebitNoteAmount       = psForm.AdjustDebitNote.Amount;
                    Adn.CreatedBy             = 0;
                    if (entities.AdjustedDebitNotes.AsNoTracking().FirstOrDefault(x => x.ID == psForm.AdjustDebitNote.ID) == null)
                    {
                        //obj.CreatedBy = invoiceData.SIModel.CreatedBy;
                        Adn.CreatedDate = DateTime.Now;
                        entities.AdjustedDebitNotes.Add(Adn);
                        entities.SaveChanges();
                        autoID     = Adn.ID;
                        AdjustedNo = Adn.AdjustDebitNoteNumber;
                    }
                    else
                    {
                        // obj.ModifiedBy = invoiceData.SIModel.ModifiedBy;
                        Adn.ModifiedDate          = DateTime.Now;
                        entities.Entry(Adn).State = EntityState.Modified;
                        autoID = entities.SaveChanges();
                    }
                    foreach (var item in psForm.AdjustDebitNoteDetails)
                    {
                        if (item.CheckAmountAdjusted == true)
                        {
                            AdjustedDebitNoteDetail ADN = new AdjustedDebitNoteDetail();
                            if (autoID > 0)
                            {
                                ADN.ADN_ID                = autoID;
                                ADN.PurchaseInvoiceNo     = item.PurchaseNo;
                                ADN.PurchaseInvoiceDate   = item.PurchaseDate;
                                ADN.PaymentDueDate        = item.PaymentDueDate;
                                ADN.PurchaseInvoiceAmount = item.PurchaseAmount;
                                ADN.AmountDue             = item.AmountDue;
                                ADN.AmountAdjusted        = item.AmountAdjusted;
                                ADN.CreatedBy             = 0;
                                ADN.CreatedDate           = DateTime.Now;
                                if (entities.AdjustedDebitNoteDetails.AsNoTracking().FirstOrDefault(x => x.ID == psForm.AdjustDebitNote.ID) == null)
                                {
                                    entities.AdjustedDebitNoteDetails.Add(ADN);
                                    entities.SaveChanges();
                                }
                                else
                                {
                                    entities.Entry(ADN).State = EntityState.Modified;
                                    entities.SaveChanges();
                                }
                            }
                        }
                    }
                    //adjusted table entity
                    foreach (var item in psForm.AdjustDebitNoteDetails)
                    {
                        if (item.CheckAmountAdjusted == true)
                        {
                            CashAndBankTransaction obj = entities.CashAndBankTransactions.Where(e => e.SO_CN_PO_DN_No == item.PurchaseNo).OrderByDescending(x => x.ID).ToList().FirstOrDefault();
                            if (obj != null)
                            {
                                obj.Acc_Id = psForm.AdjustDebitNote.AccountId;
                                obj.Amount = psForm.AdjustDebitNote.Amount;
                                //obj.Cash_Cheque_No = psForm.AdjustDebitNote.CashChequeNo;
                                obj.Cash_Cheque_Date = psForm.AdjustDebitNote.Date;
                                obj.Remarks          = psForm.AdjustDebitNote.Remarks;
                                obj.Is_Cheque        = psForm.AdjustDebitNote.IsCheque;
                                //saving details entity
                                obj.SO_CN_PO_DN_No   = item.PurchaseNo;
                                obj.SO_CN_PO_DN_Date = item.PurchaseDate;
                                obj.SO_CN_PO_DN_Amt  = item.PurchaseAmount;
                                obj.Amt_Due          = item.AmountDue - item.AmountAdjusted;
                                obj.Amt_Refunded     = item.AmountAdjusted;
                                obj.Discount         = item.Discount;
                                obj.DN_CN_No         = psForm.AdjustDebitNote.DebitNoteNo;
                                obj.Type             = Type.ToString();
                                obj.UpdatedBy        = 0;
                                obj.UpdatedDate      = DateTime.Now.Date;
                                obj.AD_AC_NO         = AdjustedNo;
                                entities.SaveChanges();

                                if (item.AmountAdjusted == item.PurchaseAmount)
                                {
                                    PurchaseInvoice invoice = entities.PurchaseInvoices.Where(e => e.PI_No == item.PurchaseNo).SingleOrDefault();
                                    //PurchaseOrder order = entities.PurchaseOrders.Where(e => e.PO_No == item.PurchaseNo).SingleOrDefault();
                                    if (invoice != null)
                                    {
                                        invoice.PI_Status = Convert.ToByte(PI_Status.Paid);
                                        entities.SaveChanges();
                                    }
                                    //else if (order != null)
                                    //{
                                    //}
                                }
                                DebitNote debit = entities.DebitNotes.Where(e => e.DN_No == psForm.AdjustDebitNote.DebitNoteNo).SingleOrDefault();
                                if (debit != null)
                                {
                                    debit.DN_Status = Convert.ToByte(DN_Status.Adjusted);
                                    entities.SaveChanges();
                                }
                            }
                            else
                            {
                                CashAndBankTransaction cashbankobj = new CashAndBankTransaction()
                                {
                                    Acc_Id           = psForm.AdjustDebitNote.AccountId,
                                    Amount           = psForm.AdjustDebitNote.Amount,
                                    Cash_Cheque_Date = psForm.AdjustDebitNote.Date,
                                    Remarks          = psForm.AdjustDebitNote.Remarks,
                                    Is_Cheque        = psForm.AdjustDebitNote.IsCheque,
                                    SO_CN_PO_DN_No   = item.PurchaseNo,
                                    SO_CN_PO_DN_Date = item.PurchaseDate,
                                    SO_CN_PO_DN_Amt  = item.PurchaseAmount,
                                    Amt_Due          = item.AmountDue - item.AmountAdjusted,
                                    Amt_Refunded     = item.AmountAdjusted,
                                    Discount         = item.Discount,
                                    UpdatedBy        = 0,
                                    UpdatedDate      = DateTime.Now.Date,
                                    Cus_Sup_Id       = psForm.AdjustDebitNote.SupplierID,
                                    DN_CN_No         = psForm.AdjustDebitNote.DebitNoteNo,
                                    Type             = Type.ToString(),
                                    AD_AC_NO         = AdjustedNo
                                };
                                entities.CashAndBankTransactions.Add(cashbankobj);
                                entities.SaveChanges();
                                if (item.AmountAdjusted == item.PurchaseAmount)
                                {
                                    PurchaseInvoice invoice = entities.PurchaseInvoices.Where(e => e.PI_No == item.PurchaseNo).SingleOrDefault();
                                    //PurchaseOrder order = entities.PurchaseOrders.Where(e => e.PO_No == item.PurchaseNo).SingleOrDefault();
                                    if (invoice != null)
                                    {
                                        invoice.PI_Status = Convert.ToByte(PI_Status.Paid);
                                        entities.SaveChanges();
                                    }
                                    //else if (order != null)
                                    //{
                                    //}
                                }
                                DebitNote debit = entities.DebitNotes.Where(e => e.DN_No == psForm.AdjustDebitNote.DebitNoteNo).SingleOrDefault();
                                if (debit != null)
                                {
                                    debit.DN_Status = Convert.ToByte(DN_Status.Adjusted);
                                    entities.SaveChanges();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(psForm.AdjustDebitNote.ID);
        }
        public int UpdateAdjustDebitNote(AdjustDebitNoteForm psForm, int Type)
        {
            IAdjustDebitNoteDAl psDAL = new AdjustDebitNoteDAl();

            return(psDAL.UpdateAdjustDebitNote(psForm, Type));
        }
        public int UpdateAdjustDebitNote(AdjustDebitNoteForm psForm, int Type)
        {
            IAdjustDebitNoteBL psBL = new AdjustDebitNoteBL();

            return(psBL.UpdateAdjustDebitNote(psForm, Type));
        }
Beispiel #17
0
        public AdjustDebitNoteForm GetAdjustDebitNoteDetails(string DebitNoteNo)
        {
            AdjustDebitNoteForm pqf = new AdjustDebitNoteForm();

            try
            {
                using (SDNPurchasingDBEntities entities = new SDNPurchasingDBEntities())
                {
                    decimal value;
                    var     pq = (from pqs in entities.DebitNotes
                                  join pi in entities.PurchaseInvoices on pqs.PI_Id equals pi.ID
                                  where pqs.DN_No == DebitNoteNo
                                  select new AdjustDebitNoteEntity
                    {
                        ID = pqs.ID,
                        SupplierID = pqs.Sup_Id,
                        //Amount =  pi.PI_Tot_aft_Tax,
                        Amount = pi.PI_Tot_aft_Tax,
                        Date = pqs.DN_Date,
                        DebitNoteNo = pqs.DN_No
                                      //CashChequeNo = pqs.Cash_Cheque_No,
                    }).FirstOrDefault();

                    if (pq != null)
                    {
                        pq.AmountStr        = Convert.ToString(pq.Amount);
                        pqf.AdjustDebitNote = pq;
                    }

                    if (pq.SupplierID != 0 || pq.SupplierID != null)
                    {
                        //var pqd = (from pqs in entities.PurchaseInvoices
                        //           where pqs.Sup_Id == pq.SupplierID && pqs.PI_Status == 2
                        //           select new AdjustDebitNoteDetailsEntity
                        //           {
                        //               PurchaseNo = pqs.PI_No,
                        //               PurchaseDate = pqs.PI_Date,
                        //               PaymentDueDate = pqs.PI_Pmt_Due_Date,
                        //               PurchaseAmount = pqs.PI_Tot_aft_Tax,
                        //               //AmountDue = pqs.Amt_Due,
                        //               //Discount = pqs.Discount,
                        //               //AmountAdjusted = pqs

                        //           }).ToList<AdjustDebitNoteDetailsEntity>();

                        var pqd = entities.Database.SqlQuery <AdjustDebitNoteDetailsEntity>("PRC_GetPurchaseDataForAdjustDebitNotes @SupplierID={0}", pq.SupplierID).ToList();

                        if (pqd != null)
                        {
                            pqf.AdjustDebitNoteDetails = pqd;
                        }
                    }


                    return(pqf);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #18
0
        public int SaveAdjustDebitNote(AdjustDebitNoteForm psForm)
        {
            IAdjustDebitNoteDAl psDAL = new AdjustDebitNoteDAl();

            return(psDAL.SaveAdjustDebitNote(psForm));
        }