Example #1
0
        public override void FillSelectedRecordInContent(object RecordToFill)
        {
            DAL.tblFinPeriod EditingRecord = DALObject.FindSaveModelByPrimeKey(((FinPeriodEditListModel)RecordToFill).FinPeriodID);

            txtFinPerName.Text = EditingRecord.FinPeriodName;

            deStartDate.EditValue = null;
            deStartDate.EditValue = EditingRecord.FinPeriodFrom;
            deEndDate.EditValue   = null;
            if (EditingRecord.FinPeriodTo.HasValue)
            {
                deEndDate.EditValue = EditingRecord.FinPeriodTo.Value;
            }

            PrevFinPeriod = DALObject.GetPreviousFinPeriod(Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID, EditingRecord.FinPeriodFrom);

            deStartDate.Enabled = (PrevFinPeriod == null);


            if (EditingRecord.FinPeriodTo == null)
            {
                NextFinPeriod = null;
            }
            else
            {
                NextFinPeriod = DALObject.GetNextFinPeriod(Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID, EditingRecord.FinPeriodTo.Value);
            }

            deEndDate.Enabled = (NextFinPeriod == null);
        }
Example #2
0
        public SavingResult SaveNewRecord(tblFinPeriod SaveModel, FinPeriodDetailModel PrevFinPeriod, FinPeriodDetailModel NextFinPeriod,
                                          List <AccountClosingBalanceViewModel> COBalances, List <ProductOpeningStockViewModel> POStocks)
        {
            SavingResult res = new SavingResult();

            //--
            using (dbVisionEntities db = new dbVisionEntities())
            {
                //tblFinPeriod SaveModel;
                if (SaveModel.FinPeriodName == "")
                {
                    res.ValidationError = "Can not accept blank value. Please enter Financial Period Name.";
                    res.ExecutionResult = eExecutionResult.ValidationError;
                    return(res);
                }
                else if (IsDuplicateRecord(SaveModel.FinPeriodName, SaveModel.FinPeriodID, db))
                {
                    res.ValidationError = "Can not accept duplicate value. The Financial Period Name is already exists.";
                    res.ExecutionResult = eExecutionResult.ValidationError;
                    return(res);
                }

                bool IsNewFinPeriodAdded = (SaveModel.FinPeriodID == 0);

                if (SaveModel.FinPeriodID == 0) // New Entry
                {
                    SaveModel.rcuid     = Model.CommonProperties.LoginInfo.LoggedinUser.UserID;
                    SaveModel.rcdt      = DateTime.Now;
                    SaveModel.CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID;
                    db.tblFinPeriods.Add(SaveModel);

                    if (PrevFinPeriod != null)
                    {
                        tblFinPeriod PrevFinPerSaveModel = db.tblFinPeriods.Find(PrevFinPeriod.FinPeriodID);
                        if (PrevFinPerSaveModel != null)
                        {
                            if (PrevFinPerSaveModel.FinPeriodTo == null)
                            {
                                PrevFinPerSaveModel.FinPeriodTo = SaveModel.FinPeriodFrom.Date.AddDays(-1);
                                //if (PrevFinPerSaveModel.FinPeriodName == PrevFinPerSaveModel.FinPeriodFrom.Year.ToString() + " - *")
                                //{
                                PrevFinPerSaveModel.FinPeriodName = PrevFinPerSaveModel.FinPeriodFrom.Year.ToString() + " - " + PrevFinPerSaveModel.FinPeriodTo.Value.Year.ToString();
                                //}

                                PrevFinPerSaveModel.redt = DateTime.Now;
                                db.tblFinPeriods.Attach(PrevFinPerSaveModel);
                                db.Entry(PrevFinPerSaveModel).State = System.Data.Entity.EntityState.Modified;
                            }
                        }
                    }
                }
                else
                {
                    SaveModel.reuid = Model.CommonProperties.LoginInfo.LoggedinUser.UserID;
                    SaveModel.redt  = DateTime.Now;
                    db.tblFinPeriods.Attach(SaveModel);
                    db.Entry(SaveModel).State = System.Data.Entity.EntityState.Modified;
                }

                //--
                try
                {
                    db.SaveChanges();
                    res.PrimeKeyValue   = SaveModel.FinPeriodID;
                    res.ExecutionResult = eExecutionResult.CommitedSucessfuly;
                }
                catch (Exception ex)
                {
                    CommonFunctions.GetFinalError(res, ex);
                }


                if (IsNewFinPeriodAdded && PrevFinPeriod != null)
                {
                    //    /// Transfer Stock and Balances
                    //    DAL.Account.AccountOpeningBalanceDAL COPBDALObj = new Account.AccountOpeningBalanceDAL();
                    //    ///--- Save Account Balances
                    //    foreach (var copb in COBalances)
                    //    {
                    //        if (copb.OpeningBalance != 0)
                    //        {
                    //            COPBDALObj.SaveNewRecord(new tblAccountOpeningBalance()
                    //            {
                    //                OpeningBalanceDate = SaveModel.FinPeriodFrom.Date,
                    //                OpeningBalanceAmt = copb.OpeningBalance,
                    //                Narration = "Opening Balance T/F",
                    //                AccountID = copb.AccountID,
                    //                CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID,
                    //                tblFinPeriod = SaveModel,
                    //                rcdt = DateTime.Now,
                    //                rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID
                    //            }, SaveModel.CompanyID, SaveModel.FinPeriodID, db, res);
                    //        }
                    //    }
                    //    ///

                    //    /// Save Product Stock
                    //    DAL.Inventory.ProductOpeningStockDAL POStockDALObj = new Inventory.ProductOpeningStockDAL();
                    //    int OpeningStockVoucherTypeID = (int)Model.Inventory.eStockVoucherType.OpeningStock;
                    //    foreach (var stock in POStocks)
                    //    {
                    //        if (stock.Stock != 0)
                    //        {
                    //            POStockDALObj.SaveNewRecord(
                    //                new tblStock()
                    //                {
                    //                    StockVoucherTypeID = OpeningStockVoucherTypeID,
                    //                    VDate = SaveModel.FinPeriodFrom.Date,
                    //                    Narration = "Opening Stock T/F",
                    //                    CompanyID = CommonProperties.LoginInfo.LoggedInCompany.CompanyID,
                    //                    tblFinPeriod = SaveModel,
                    //                    rcdt = DateTime.Now,
                    //                    rcuid = CommonProperties.LoginInfo.LoggedinUser.UserID
                    //                },
                    //                new List<tblStockPDetail>() { new tblStockPDetail()
                    //                        {
                    //                            ProductID = stock.ProductID,
                    //                            Rate = stock.Rate,
                    //                            Qty = stock.Stock
                    //                        } },

                    //                SaveModel.CompanyID, SaveModel.FinPeriodID, db, res);
                    //        }
                    //    }
                    ///
                    //--
                    try
                    {
                        db.SaveChanges();
                        res.PrimeKeyValue   = SaveModel.FinPeriodID;
                        res.ExecutionResult = eExecutionResult.CommitedSucessfuly;
                    }
                    catch (Exception ex)
                    {
                        CommonFunctions.GetFinalError(res, ex);
                    }
                }
            }
            return(res);
        }
Example #3
0
        public async override void InitializeDefaultValues()
        {
            PrevFinPeriod = null;
            NextFinPeriod = null;

            deStartDate.Enabled = true;
            deEndDate.Enabled   = true;

            lcgAccountBalance.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
            lcgProductStock.Visibility   = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
            splitterItem2.Visibility     = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;

            FirstControl = deStartDate;
            if (FormCurrentUI == Model.eFormCurrentUI.NewEntry)
            {
                PrevFinPeriod = DALObject.GetLatestFinPeriod(Model.CommonProperties.LoginInfo.LoggedInCompany.CompanyID);
                if (PrevFinPeriod != null)
                {
                    lblPrevFinPeriod.Text = PrevFinPeriod.FinPeriodFrom.ToShortDateString() + " - ";
                    if (PrevFinPeriod.FinPeriodTo != null)
                    {
                        lblPrevFinPeriod.Text = lblPrevFinPeriod.Text + PrevFinPeriod.FinPeriodTo.Value.ToShortDateString();

                        deStartDate.EditValue = null;
                        deStartDate.EditValue = PrevFinPeriod.FinPeriodTo.Value.Date.AddDays(1).Date;
                        deStartDate.Enabled   = false;

                        FirstControl = deEndDate;
                    }
                    else
                    {
                        lblPrevFinPeriod.Text = lblPrevFinPeriod.Text + "*";

                        FirstControl = deStartDate;
                    }
                    SetFocusOnFirstControl();


                    //-- Calculate Account's Balances
                    gridControlAccountBalance.DataSource = await DALObject.GetAccountClosingBalance(PrevFinPeriod.CompanyID, PrevFinPeriod.FinPeriodID);

                    gridviewAccountBalance.Columns["AccountNo"].Width      = 100;
                    gridviewAccountBalance.Columns["AccountName"].Width    = 300;
                    gridviewAccountBalance.Columns["CompanyName"].Width    = 200;
                    gridviewAccountBalance.Columns["Address"].Width        = 150;
                    gridviewAccountBalance.Columns["City"].Width           = 100;
                    gridviewAccountBalance.Columns["MobileNo"].Width       = 100;
                    gridviewAccountBalance.Columns["OpeningBalance"].Width = 100;


                    //gridcontrolProductStock.DataSource = await DALObject.GetProductOpeningBalance(PrevFinPeriod.CompanyID, PrevFinPeriod.FinPeriodID);
                    //gridviewProductStock.Columns["ProductCode"].Width = 100;
                    //gridviewProductStock.Columns["ProductName"].Width = 300;
                    //gridviewProductStock.Columns["Stock"].Width = 100;
                    //gridviewProductStock.Columns["UnitName"].Width = 100;


                    lcgAccountBalance.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
                    lcgProductStock.Visibility   = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
                    splitterItem2.Visibility     = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
                }
            }

            base.InitializeDefaultValues();
        }