Esempio n. 1
0
        public UnitOfWork()
        {
            _context = new DataContext();

            People = new PersonRepository(_context);
            Payments = new PaymentRepository(_context);
            PaymentDetails = new PaymentDetailRepository(_context);
        }
Esempio n. 2
0
        //public List<KeyValuePair<int, string>> PaymentTypeList
        //{
        //    get
        //    {
        //        var values = Enum.GetValues(typeof (PaymentTypeEnum)).Cast<int>();

        //        var result = new List<KeyValuePair<int, string>>();

        //        foreach (int item in values)
        //        {
        //            result.Add(new KeyValuePair<int, string>(item,Enum.GetName(typeof(PaymentTypeEnum),item)));
        //        }

        //        return result;
        //    }
        //}

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Environment.MachineName.ToLower() == "arash-laptop")
            {
                Session["User"] = new BaseRepository <User>().GetById(1);
            }

            try
            {
                Debuging.Info("Payment->Try to Page_Load");

                if (!Page.IsPostBack)
                {
                    BindDrpFactor();

                    if (Page.RouteData.Values["Id"].ToSafeInt() != 0)
                    {
                        var paymentId = Page.RouteData.Values["Id"].ToSafeInt();

                        var paymentRepo = new PaymentRepository();
                        var payment     = paymentRepo.GetById(paymentId);

                        txtDescription.Text     = payment.Description;
                        txtPaymentNo.Text       = payment.PaymentNo.ToString();
                        drpFactor.SelectedValue = payment.FactorId.ToString();
                        drpFactor_OnSelectedIndexChanged(sender, new RadComboBoxSelectedIndexChangedEventArgs("", "", payment.FactorId.ToString(), ""));
                        ucDate.Date = payment.PaymentDate.ToFaDate();
                        var paymentDetailRepo = new PaymentDetailRepository();

                        gridPayment.DataSource = Session["GridSource"] = paymentDetailRepo.GetPaymentDetails(paymentId);
                        gridPayment.DataBind();
                    }
                    else
                    {
                        ucDate.Date            = DateTime.Now.ToFaDate();
                        gridPayment.DataSource = Session["GridSource"] = new List <PaymentDetail>();
                        gridPayment.DataBind();

                        txtPaymentNo.Text = (new PaymentRepository().GetMaxPaymentNo() + 1).ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                Debuging.Error(ex, MethodBase.GetCurrentMethod().Name);
            }
            Debuging.Info("Payment->End of Page_Load");
        }
Esempio n. 3
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (!ValidateData())
                {
                    return;
                }

                if (Page.RouteData.Values["Id"].ToSafeInt() == 0)
                {
                    var uow = new UnitOfWork();

                    var payment = new Repository.Entity.Domain.Payment();

                    payment.PaymentNo      = txtPaymentNo.Text.ToSafeInt();
                    payment.FactorId       = drpFactor.SelectedValue.ToSafeInt();
                    payment.InsertDateTime = DateTime.Now;
                    payment.PaymentDate    = ucDate.Date.ToEnDate();
                    payment.Description    = txtDescription.Text;

                    var fd = ((List <PaymentDetail>)Session["GridSource"]);
                    payment.TotalPrice     = fd.Sum(a => a.Price);
                    payment.PaymentDetails = fd;
                    uow.Payments.Create(payment);

                    var result = uow.SaveChanges();

                    if (result.IsSuccess)
                    {
                        RedirectPaymentListActionResultWithMessage();
                    }
                    else
                    {
                        Debuging.Error(MethodBase.GetCurrentMethod().Name + "->" + result.ResultMessage);
                        ShowErrorMsg(MessageText.UNKNOWN_ERROR);
                    }
                }
                else
                {
                    var uow = new UnitOfWork();

                    var toBeEditedPayment = uow.Payments.Find(Page.RouteData.Values["Id"].ToSafeInt());

                    toBeEditedPayment.PaymentNo      = txtPaymentNo.Text.ToSafeInt();
                    toBeEditedPayment.FactorId       = drpFactor.SelectedValue.ToSafeInt();
                    toBeEditedPayment.UpdateDateTime = DateTime.Now;
                    //toBeEditedPayment.FactorDate = txtDate.Text.ToEnDate();
                    toBeEditedPayment.Description = txtDescription.Text;
                    toBeEditedPayment.PaymentDate = ucDate.Date.ToEnDate();

                    var pd = ((List <PaymentDetail>)Session["GridSource"]);

                    toBeEditedPayment.TotalPrice     = pd.Sum(a => a.Price);
                    toBeEditedPayment.PaymentDetails = pd;

                    var oldPdIds = new PaymentDetailRepository().GetPaymentDetails(toBeEditedPayment.Id).Select(a => a.Id);

                    uow.PaymentDetails.Delete(a => oldPdIds.Contains(a.Id));

                    var result = uow.SaveChanges();

                    if (result.IsSuccess)
                    {
                        RedirectPaymentListActionResultWithMessage();
                    }
                    else
                    {
                        Debuging.Error(MethodBase.GetCurrentMethod().Name + "->" + result.ResultMessage);
                        ShowErrorMsg(MessageText.UNKNOWN_ERROR);
                    }
                }
            }
            catch (Exception ex)
            {
                Debuging.Error(ex, MethodBase.GetCurrentMethod().Name);
                ShowErrorMsg(MessageText.UNKNOWN_ERROR);
            }
        }