protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (userAction != (int)Enums.UserAction.Add)
                {
                    model = mobileTransRepo.GetMobileTransactionByID(mobileTransactionID);

                    if (model != null)
                    {
                        GetMobileTransactionProvider().SetMobileTransactionModel(model);
                        FillForm();
                    }
                }

                UserActionConfirmBtnUpdate(btnConfirmPopup, userAction, true);
            }
            else
            {
                if (model == null && SessionHasValue(Enums.MobileTransactionSession.MobileTransactionModel))
                {
                    model = GetMobileTransactionProvider().GetMobileTransactionModel();
                }
            }
        }
Пример #2
0
        public ActionResult ConfirmMobile(MobilePaymentModel paymentInfo, FormCollection collcetion)
        {
            if (paymentInfo.CardAccountID == 0)
            {
                return(RedirectToAction("Index"));
            }
            if (paymentInfo.ToOwnPayments)
            {
                OwnPaymentsModule.AddMobileOwnPayment(paymentInfo, rep, WebSecurity.CurrentUserId);
            }
            MobileTransaction mt = new MobileTransaction();

            mt.Amount         = paymentInfo.Amount;
            mt.CardAccountID  = paymentInfo.CardAccountID;
            mt.CustomerID     = WebSecurity.CurrentUserId;
            mt.Date           = Time.GetTime();
            mt.MobileProvider = paymentInfo.Provider;
            mt.Phone          = paymentInfo.Phone;
            mt.Type           = PaymentType.Mobile;
            bool success = service.CreateMobileTransaction(mt);

            if (success)
            {
                return(View("Message", (object)"Платеж успешно завершен"));
            }
            else
            {
                return(View("Message", (object)"Что то пошло не так. Попробуйте еще раз"));
            }
        }
        private bool AddOrEditEntityObject(bool add = false)
        {
            if (add)
            {
                model = new MobileTransaction(session);
                model.MobileTransactionID = 0;
            }
            else if (!add && model == null)
            {
                model = GetMobileTransactionProvider().GetMobileTransactionModel();
            }

            /*int productID = CommonMethods.ParseInt(GetGridLookupValue(GridLookupProduct));
             * if (model.ProductID != null)
             *  model.ProductID = productRepo.GetProductByID(productID, model.ProductID.Session);
             * else
             *  model.ProductID = productRepo.GetProductByID(productID);*/


            model.Notes = MemoNotes.Text;

            mobileTransRepo.SaveMobileTransaction(model, PrincipalHelper.GetUserID());

            return(true);
        }
Пример #4
0
        public async Task <IActionResult> PutMobileTransaction([FromRoute] int id, [FromBody] MobileTransaction mobileTransaction)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != mobileTransaction.ID)
            {
                return(BadRequest());
            }

            _context.Entry(mobileTransaction).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MobileTransactionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #5
0
 public void RemoveMobileTransaction(MobileTransaction mobileTransaction)
 {
     using (Repositories rep = new Repositories())
     {
         rep.MobileTransactions.Remove(mobileTransaction);
         rep.SaveChanges();
     }
 }
Пример #6
0
        public void AddMobileTransfer(float ammount, string donatorPhoneNumber, string buyerPhoneNumber)
        {
            var donator           = apiServer.GetAuthModel(donatorPhoneNumber);
            var buyer             = apiServer.GetAuthModel(buyerPhoneNumber);
            var mobileTransaction = new MobileTransaction {
                SourceAuthModelID      = donator.ID,
                DestinationAuthModelID = buyer.ID,
                Ammount = ammount
            };

            apiServer.AddMobileTransaction(mobileTransaction);
        }
 public bool DeleteMobileTransaction(MobileTransaction model)
 {
     try
     {
         model.Delete();
         return(true);
     }
     catch (Exception ex)
     {
         string error = "";
         CommonMethods.getError(ex, ref error);
         throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_33, error, CommonMethods.GetCurrentMethodName()));
     }
 }
Пример #8
0
        public MobileTransaction PrepareTransaction(MobileAutoPay model)
        {
            MobileTransaction transaction = new MobileTransaction()
            {
                Amount         = model.Amount,
                CardAccountID  = model.PayCardId,
                CustomerID     = model.CustomerID,
                Date           = Time.GetTime(),
                MobileProvider = model.MobileOperator,
                Phone          = model.MobileNumber,
                Type           = PaymentType.Mobile
            };

            return(transaction);
        }
Пример #9
0
        public async Task <IActionResult> PostMobileTransaction([FromBody] MobileTransaction mobileTransaction)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var phoneCredit = _context.PhoneCredit.First
                                  (pc => pc.AuthModelID == mobileTransaction.DestinationAuthModelID);

            phoneCredit.Credit += mobileTransaction.Ammount;
            _context.MobileTransaction.Add(mobileTransaction);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMobileTransaction", new { id = mobileTransaction.ID }, mobileTransaction));
        }
Пример #10
0
 public MobileTransactionViewModel(MobileTransaction mobileTransaction)
 {
     ID             = mobileTransaction.ID;
     MobileOperator = new MobileOperatorViewModel(mobileTransaction.MobileOperator);
     CreditSum      = mobileTransaction.CreditSum;
     if (mobileTransaction.Transaction.Price != null)
     {
         Price = mobileTransaction.Transaction.Price.Value;
     }
     if (mobileTransaction.Transaction.Contragent != null)
     {
         Client = new ContragentViewModel(mobileTransaction.Transaction.Contragent);
     }
     Salesman = new SalesmanViewModel(mobileTransaction.Transaction.Operator.Salesman);
     Date     = mobileTransaction.Transaction.Date;
     Profit   = Price - CreditSum;
 }
Пример #11
0
        public bool CreateMobileTransaction(MobileTransaction mobileTransaction)
        {
            try
            {
                using (Repositories rep = new Repositories())
                {
                    CardAccount card = rep.CardAccounts.GetSingle(mobileTransaction.CardAccountID);
                    BankAccount acc  = rep.BankAccounts.GetSingle(card.BankAccountID);
                    BankAccount bank = rep.BankAccounts.GetAll(a => a.AcountNumber == "1111111111111111").FirstOrDefault();

                    if (acc.CurrencyID != 1)
                    {
                        return(false);
                    }
                    if (mobileTransaction.Amount > acc.Balance)
                    {
                        return(false);
                    }
                    if (card.IsLocked)
                    {
                        return(false);
                    }
                    if (card.ExpiredDate < Time.GetTime())
                    {
                        return(false);
                    }
                    mobileTransaction.Date = Time.GetTime();
                    acc.Balance           -= mobileTransaction.Amount;
                    bank.Balance          += mobileTransaction.Amount;
                    rep.BankAccounts.Update(acc);
                    rep.BankAccounts.Update(bank);
                    rep.MobileTransactions.Add(mobileTransaction);
                    rep.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
        public int SaveMobileTransaction(MobileTransactionAPIModel model)
        {
            try
            {
                XPQuery <InventoryDeliveries> invDeliveries = session.Query <InventoryDeliveries>();

                MobileTransaction mobile = new MobileTransaction(session);
                mobile.InventoryDeliveriesLocationID = null;
                mobile.MobileTransactionID           = 0;
                mobile.Notes = "";
                mobile.ScannedProductCode = model.code;
                mobile.UIDCode            = GetUIDCode(model.code);
                mobile.SupplierID         = clientRepo.GetClientByID(model.supplier_id, mobile.Session);
                mobile.ProductID          = productRepo.GetProductByID(model.inventory_id, mobile.Session);

                mobile.tsUpdate       = DateTime.Now;
                mobile.tsUpdateUserID = model.user_id;

                if (mobile.MobileTransactionID == 0)
                {
                    mobile.tsInsert       = model.created_at;
                    mobile.tsInsertUserID = model.user_id;
                }

                mobile.InventoryDeliveriesLocationID = SaveInventoryDeliveriesLocation(model, mobile.Session);
                mobile.Quantity = invDeliveries.Count(inv => inv.PackagesUIDs.Contains(mobile.UIDCode));//kosovna količina
                mobile.Save();

                return(mobile.MobileTransactionID);
            }
            catch (Exception ex)
            {
                string error = "";
                CommonMethods.getError(ex, ref error);
                throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_32, error, CommonMethods.GetCurrentMethodName()));
            }
        }
        public int SaveMobileTransaction(MobileTransaction model, int userID = 0)
        {
            try
            {
                model.tsUpdate       = DateTime.Now;
                model.tsUpdateUserID = userID;

                if (model.MobileTransactionID == 0)
                {
                    model.tsInsert       = DateTime.Now;
                    model.tsInsertUserID = userID;
                }

                model.Save();

                return(model.MobileTransactionID);
            }
            catch (Exception ex)
            {
                string error = "";
                CommonMethods.getError(ex, ref error);
                throw new Exception(CommonMethods.ConcatenateErrorIN_DB(DB_Exception.res_32, error, CommonMethods.GetCurrentMethodName()));
            }
        }
        private void Add()
        {
            if (SelectedOperator == null)
            {
                _mainViewModel.MobileTransactionsViewModel.AddDialogViewModel = null;
            }

            Transaction transaction = new Transaction
            {
                Date       = DateTime.Now,
                TypeID     = (int)TranType.TopUp,
                OperatorID = OperatorManager.Instance.CurrentUserID,
                Price      = Price
            };

            LastName  = Trim(LastName);
            FirstName = Trim(FirstName);
            if (!string.IsNullOrEmpty(LastName) && !string.IsNullOrEmpty(FirstName))
            {
                var client = _mainViewModel.Context.Clients.FirstOrDefault(
                    x => x.Contragent.FirstName == FirstName && x.Contragent.LastName == LastName);

                if (client == null)
                {
                    var contragent = new Contragent
                    {
                        LastName  = LastName,
                        FirstName = FirstName
                    };

                    client = new Client
                    {
                        Contragent = contragent
                    };

                    _mainViewModel.Context.Clients.Add(client);
                }

                transaction.Contragent = client.Contragent;
            }

            MobileTransaction mobileTransaction = new MobileTransaction
            {
                Transaction      = transaction,
                CreditSum        = CreditSum,
                MobileOperatorID = SelectedOperator.ID
            };

            _mainViewModel.Context.MobileTransactions.Add(mobileTransaction);
            try
            {
                _mainViewModel.Context.SaveChanges();
            }
            catch (Exception e)
            {
                MessageBox.Show(("Не удалось провести пополнение"), "Error", MessageBoxButton.OK, MessageBoxImage.Error);

                Logging.WriteToLog("Failed add new mobile transaction. " + e.Message);
            }

            _mainViewModel.MobileTransactionsViewModel.Update();
            _mainViewModel.CashInHand += Price;

            _mainViewModel.MobileTransactionsViewModel.AddDialogViewModel = null;
        }
Пример #15
0
        internal void AddMobileTransaction(MobileTransaction mobileTransaction)
        {
            string actionUrl = ComposeUrl(MobileTransactions);

            HttpPost(actionUrl, mobileTransaction);
        }