コード例 #1
0
 public ActionResult DepositForecast(DepositType depositType)
 {
     if (!(HttpContext.Session.GetString("actions") == "admin" || HttpContext.Session.GetString("actions") == "guest"))
     {
         try
         {
             if (depositType.capitalization > 0 && depositType.minMoney > 0 && depositType.percent > 0 && depositType.percent < 100 && depositType.period > 0)
             {
                 return(View(depositType));
             }
             else
             {
                 ViewBag.Message = "Данные некорректны!";
                 return(View(depositType));
             }
         }
         catch
         {
             ViewBag.Message = "Данные некорректны!";
             return(View());
             //return RedirectToAction("Index");
         }
     }
     else
     {
         return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
     }
 }
コード例 #2
0
        public ActionResult Delete(int id, DepositType dt)
        {
            if (HttpContext.Session.GetString("actions") == "admin")
            {
                try
                {
                    using (appDBContent)
                    {
                        DepositType dept = appDBContent.DepositType.Where(x => x.id == id).FirstOrDefault();

                        appDBContent.DepositType.Remove(dept);
                        appDBContent.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
                catch
                {
                    return(View("Delete"));
                }
            }
            else
            {
                return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
            }
        }
コード例 #3
0
 public ActionResult DepForWOMin(DepositType depositType)
 {
     if (!(HttpContext.Session.GetString("actions") == "admin" || HttpContext.Session.GetString("actions") == "guest"))
     {
         try
         {
             if (depositType.capitalization > 0 && depositType.maxMoney > 0 && depositType.percent > 0 && depositType.percent < 100 && depositType.period > 0)
             {
                 double minMoney = (double)depositType.maxMoney;
                 //minMoney = minMoney / (Math.Pow((1+((double)depositType.percent)/(100*((double)depositType.capitalization))),((double)depositType.period)*((double)(depositType.capitalization))/12));
                 double koef  = 1 + ((double)depositType.percent) / (((double)depositType.capitalization) * 100);
                 double power = ((double)depositType.period) * ((double)depositType.capitalization) / 12;
                 koef                 = Math.Pow(koef, power);
                 minMoney             = minMoney / koef;
                 depositType.minMoney = (int)minMoney;
                 return(View(depositType));
             }
             else
             {
                 ViewBag.Message = "Данные некорректны!";
                 return(View(depositType));
             }
         }
         catch
         {
             ViewBag.Message = "Данные некорректны!";
             return(View());
             //return RedirectToAction("Index");
         }
     }
     else
     {
         return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
     }
 }
コード例 #4
0
 public ActionResult Create(DepositType depositType)
 {
     if (HttpContext.Session.GetString("actions") == "admin")
     {
         try
         {
             using (appDBContent)
             {
                 if (depositType.capitalization > 0 && depositType.minMoney > 0 && depositType.percent > 0 && depositType.percent < 100 && depositType.period > 0 && depositType.maxMoney > depositType.minMoney)
                 {
                     appDBContent.DepositType.Add(depositType);
                     appDBContent.SaveChanges();
                 }
                 else
                 {
                     ViewBag.Message = "Данные некорректны!";
                     return(View());
                 }
             }
             return(RedirectToAction("Index"));
         }
         catch
         {
             return(View());
             //return RedirectToAction("Index");
         }
     }
     else
     {
         return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
     }
 }
コード例 #5
0
ファイル: Accounts.cs プロジェクト: IakovYakovlev/Hw14
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="cIndex">Индекс клиента.</param>
 /// <param name="amount">Сумма.</param>
 /// <param name="depositType">Тип депозита.</param>
 public Accounts(Guid cIndex, double amount, DepositType depositType)
 {
     this.index         = Guid.NewGuid();
     this.clientsIndex  = cIndex;
     this.Amount        = Math.Round(amount, 2);
     this.TypeOfDeposit = depositType;
 }
 public async Task <IActionResult> Deposit(DepositType type, [FromBody] DepositDTO model)
 {
     if (type == DepositType.Cash)
     {
         try
         {
             await _accountApplicationService.DepositCashAsync(AccountId.With(model.AccountId), model.Amount);
         }
         catch (Exception e)
         {
             return(BadRequest(new { Error = e.Message }));
         }
         return(Ok(new { isSuccess = true }));
     }
     if (type == DepositType.Check)
     {
         try
         {
             await _accountApplicationService.DepositCheckAsync(AccountId.With(model.AccountId), model.Amount);
         }
         catch (Exception e)
         {
             return(BadRequest(new { Error = e.Message }));
         }
         return(Ok(new { isSuccess = true }));
     }
     return(BadRequest());
 }
コード例 #7
0
        public async Task CreateDepositType(DepositType depositType)
        {
            await _depositTypeRepo.InsertAsync(depositType);

            await _depositTypeRepo.SaveAsync();

            _logger.Info($"Created by Name: {depositType.Name}");
        }
コード例 #8
0
 public Deposit(DepositType type, string rule, decimal percentage, decimal amount,
                DateTime dueDate, string description)
 {
     this.DepositType = type;
     this.Rule        = rule;
     this.Percentage  = percentage;
     this.Amount      = amount;
     this.DueDate     = dueDate;
     this.Description = description;
 }
コード例 #9
0
        public ActionResult Create(DepositType depositType)
        {
            try
            {
                DepositType d = db.DepositTypes.FirstOrDefault(de => de.DepositTypeName == depositType.DepositTypeName);
                if (d == null)
                {
                    depositType.CreatedBy = Convert.ToInt32(Session["emp_id"]);
                    depositType.CreatedOn = DateTime.Now;
                    db.DepositTypes.Add(depositType);
                    try
                    {
                        db.SaveChanges();
                        ViewBag.MessageType = "success";
                        ViewBag.Message     = "Data has been saved successfully.";
                    }
                    catch (DbUpdateException ex)
                    {
                        ViewBag.MessageType = "error";
                        ViewBag.Message     = ex.Message;
                        ModelState.AddModelError(string.Empty, ex.Message);
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Deposit Type is already exists.");
                    ViewBag.MessageType = "error";
                    ViewBag.Message     = "Deposit Type is already exists.";
                }
            }
            catch (DbEntityValidationException ex)
            {
                string ErrorMessage = "";
                int    count        = 0;
                foreach (DbEntityValidationResult validationResult in ex.EntityValidationErrors)
                {
                    string entityName = validationResult.Entry.Entity.GetType().Name;
                    foreach (DbValidationError error in validationResult.ValidationErrors)
                    {
                        ModelState.AddModelError(string.Empty, error.ErrorMessage);
                        count++;
                        ErrorMessage += count + "-" + string.Concat(error.PropertyName, " is required.") + "<br />";
                    }
                }
                ViewBag.MessageType = "error";
                ViewBag.Message     = ErrorMessage;
            }
            model.DepositTypes        = db.DepositTypes.OrderByDescending(a => a.DepositTypeID).ToList();
            model.SelectedDepositType = null;
            model.DisplayMode         = "WriteOnly";
            ViewBag.IsActive          = new SelectList(db.Options, "OptionDesc", "OptionDesc", depositType.IsActive);

            return(View("Index", model));
        }
コード例 #10
0
 public ActionResult DepForWOMin()
 {
     if (!(HttpContext.Session.GetString("actions") == "admin" || HttpContext.Session.GetString("actions") == "guest"))
     {
         DepositType dep = new DepositType();
         dep.minMoney = 0; dep.maxMoney = 0; dep.percent = 0; dep.capitalization = 0; dep.period = 0;
         return(View(dep));
     }
     else
     {
         return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
     }
 }
コード例 #11
0
 /// <summary>
 /// Инициализация нового физ лица
 /// </summary>
 /// <param name="id">Идентификатор</param>
 /// <param name="name">Имя</param>
 /// <param name="last">Фамилия</param>
 /// <param name="depozit">первонач депозит</param>
 /// <param name="depRate">процентная ставка</param>
 /// <param name="dt">тип депозита</param>
 public Client(int id, string name, string last, double depozit, double depRate, DepositType dt, AccauntHandler handler, Action <string> bal)
 {
     ID                  = id;
     Name                = name;
     LastName            = last;
     Deposit             = depozit;
     Balance             = depozit;
     DepositRate         = depRate;
     DepType             = dt;
     credits             = new CreditList <Credit>();
     BalanceMetodChange += bal;
     //ObserverString += OperationCollector.ObserveNotification; // Это устанавливается здесь, хотя должно по идее в клиентской части
     BalanceHandler += handler;
 }
コード例 #12
0
ファイル: Firm.cs プロジェクト: goxa87/BankStructLibrary
 /// <summary>
 /// Инициализация
 /// </summary>
 /// <param name="id">Идентификатор</param>
 /// <param name="name">Имя</param>
 /// <param name="adress">адрес предприятия</param>
 /// <param name="depozit">первонач депозит</param>
 /// <param name="depRate">процентная ставка</param>
 /// <param name="dt">тип депозита</param>
 public Firm(int id, string name, string adress, double depozit, double depRate, DepositType dt,
             AccauntHandler handler, Action <string> bal)
 {
     ID                  = id;
     Name                = name;
     Adress              = adress;
     Deposit             = depozit;
     Balance             = depozit;
     DepositRate         = depRate;
     DepType             = dt;
     credits             = new CreditList <Credit>();
     BalanceHandler     += handler;
     BalanceMetodChange += bal;
 }
コード例 #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:System.Object"/> class.
 /// </summary>
 public Deposit(Currency currency, string depositId, DateTime date, DepositType type, decimal amount, decimal fee,
                TransactionStatus status, AccountId accountId, TransactionId transactionId, BitcoinAddress bitcoinAddress)
 {
     Currency       = currency;
     DepositId      = depositId;
     Date           = date;
     Type           = type;
     Amount         = amount;
     Fee            = fee;
     Status         = status;
     AccountId      = accountId;
     TransactionId  = transactionId;
     BitcoinAddress = bitcoinAddress;
 }
コード例 #14
0
        public async Task <IActionResult> Create([Bind("Id,Name,Description,BenefitsDescription," +
                                                       "AnnualRate,BonusRate,MinimumDepositAmount,MinimumReplenishmentAmount," +
                                                       "MaximumDepositAmount,InterestPaymentId,CurrencyId,DepositTermId")] DepositType depositType)
        {
            if (ModelState.IsValid)
            {
                await _depoService.CreateDepositType(depositType);

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["InterestPaymentId"] = new SelectList(await _interestPaymentService.GetAll(), "Id", "Name");
            ViewData["CurrencyId"]        = new SelectList(await _currencyService.GetAll(), "Id", "Name");
            ViewData["DepositTermId"]     = new SelectList(await _depositTerm.GetAllWithTerm(), "Id", "Name");
            return(View(depositType));
        }
コード例 #15
0
        public void Edit(int depositId, string depositName, decimal minimumAmount, decimal maximumAmount,
                         DepositType depositType, string contractualInterest, Currency currency, InterestPayment interestPayment,
                         DepositFor depositFor, InterestType interestType, IncreasingAmount increasingAmount,
                         OverdraftOpportunity overdraftOpportunity, CreditOpportunity creditOpportunity,
                         InterestCapitalize interestCapitalize, string maximumMonthPeriod, string minimumMonthPeriod,
                         string validDepositDeadlines, ValidForCustomer validForCustomer, MonthlyAccrual monthlyAccrual,
                         string additionalTerms, string bonuses, int bankId,
                         decimal interestForOneMonth, decimal interestForThreeMonths, decimal interestForSixMonths,
                         decimal interestForNineMonths, decimal interestForTwelveMonths, decimal interestForEighteenMonths,
                         decimal interestForTwentyFourMonths, decimal interestForThirtySixMonths, decimal interestForFortyEightMonths,
                         decimal interestForSixtyMonths)
        {
            var deposit = this.dbContext.Deposits.FirstOrDefault(d => d.Id == depositId);

            deposit.Name                        = depositName;
            deposit.MinimumAmount               = minimumAmount;
            deposit.MaximumAmount               = maximumAmount;
            deposit.DepositType                 = depositType;
            deposit.ContractualInterest         = contractualInterest;
            deposit.Currency                    = currency;
            deposit.InterestPayment             = interestPayment;
            deposit.DepositFor                  = depositFor;
            deposit.InterestType                = interestType;
            deposit.IncreasingAmount            = increasingAmount;
            deposit.OverdraftOpportunity        = overdraftOpportunity;
            deposit.CreditOpportunity           = creditOpportunity;
            deposit.InterestCapitalize          = interestCapitalize;
            deposit.MaximumMonthPeriod          = maximumMonthPeriod;
            deposit.MinimumMonthPeriod          = minimumMonthPeriod;
            deposit.ValidDepositDeadlines       = validDepositDeadlines;
            deposit.ValidForCustomer            = validForCustomer;
            deposit.MonthlyAccrual              = monthlyAccrual;
            deposit.AdditionalTerms             = additionalTerms;
            deposit.Bonuses                     = bonuses;
            deposit.BankId                      = bankId;
            deposit.InterestForOneMonth         = interestForOneMonth;
            deposit.InterestForThreeMonths      = interestForThreeMonths;
            deposit.InterestForSixMonths        = interestForSixMonths;
            deposit.InterestForNineMonths       = interestForNineMonths;
            deposit.InterestForTwelveMonths     = interestForTwelveMonths;
            deposit.InterestForTwentyFourMonths = interestForTwentyFourMonths;
            deposit.InterestForThirtySixMonths  = interestForThirtySixMonths;
            deposit.InterestForFortyEightMonths = interestForFortyEightMonths;
            deposit.InterestForSixtyMonths      = interestForSixtyMonths;

            this.dbContext.Update(deposit);
            this.dbContext.SaveChanges();
        }
コード例 #16
0
        public void SaveOrUpdate(DepositType model)
        {
            using (var context = new FinanceEntities())
            {
                if (model.Id == 0)
                {
                    context.DepositType.Add(model);
                }
                else
                {
                    context.Entry(model).State = EntityState.Modified;
                }

                context.SaveChanges();
            }
        }
コード例 #17
0
        public ActionResult Create(Deposit deposit)
        {
            if (HttpContext.Session.GetString("actions") == "admin")
            {
                try
                {
                    using (appDBContent)
                    {
                        DepositType depType = new DepositType();

                        depType = appDBContent.DepositType.Where(x => x.id == deposit.depositTypeID).FirstOrDefault();
                        if (depType != null)
                        {
                            if (deposit.initialMoney >= depType.minMoney && deposit.initialMoney <= depType.maxMoney)
                            {
                                deposit.plannedFinalAmountOfMoney = this.finalAmountOfMoney(deposit.initialMoney, depType.period, depType.capitalization, depType.percent);
                                appDBContent.Deposit.Add(deposit);
                                appDBContent.SaveChanges();
                            }
                            else
                            {
                                ViewBag.Message = "Сумма не подходит для данного типа вклада!";
                                return(View());
                            }
                        }
                        else
                        {
                            ViewBag.Message = "Данные некорректны!";
                            return(View());
                        }
                    }
                    return(RedirectToAction("Index"));
                }
                catch
                {
                    ViewBag.Message = "Данные некорректны!";
                    return(View());
                    //return RedirectToAction("Index");
                }
            }
            else
            {
                return(RedirectToRoute(new { controller = "Employee", action = "Login" }));
            }
        }
コード例 #18
0
        public ActionResult Edit(DepositType depositType)
        {
            try
            {
                db.Entry(depositType).State = EntityState.Modified;
                depositType.ModifiedBy      = Convert.ToInt32(Session["emp_id"]);
                depositType.ModifiedOn      = DateTime.Now;
                try
                {
                    db.SaveChanges();
                    ViewBag.MessageType = "success";
                    ViewBag.Message     = "Data has been saved successfully.";
                }
                catch (DbUpdateException ex)
                {
                    ViewBag.MessageType = "error";
                    ViewBag.Message     = ex.Message;
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }
            catch (DbEntityValidationException ex)
            {
                string ErrorMessage = "";
                int    count        = 0;
                foreach (DbEntityValidationResult validationResult in ex.EntityValidationErrors)
                {
                    string entityName = validationResult.Entry.Entity.GetType().Name;
                    foreach (DbValidationError error in validationResult.ValidationErrors)
                    {
                        ModelState.AddModelError(string.Empty, error.ErrorMessage);
                        count++;
                        ErrorMessage += string.Concat(count, "-", error.ErrorMessage, "\n");
                    }
                }
                ViewBag.MessageType = "error";
                ViewBag.Message     = ErrorMessage;
            }
            model.DepositTypes        = db.DepositTypes.OrderByDescending(a => a.DepositTypeID).ToList();
            model.SelectedDepositType = null;
            model.DisplayMode         = "WriteOnly";
            ViewBag.IsActive          = new SelectList(db.Options, "OptionDesc", "OptionDesc", depositType.IsActive);

            return(View("Index", model));
        }
コード例 #19
0
        /// <summary>
        /// Метод для нажания на кнопку "Ок".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            // Проверяем, чтобы поля были не пустые.
            if (string.IsNullOrEmpty(txtAmount.Text) || string.IsNullOrEmpty(cmbType.Text))
            {
                MessageBox.Show("Необходимо заполнить все поля.");
                return;
            }

            // Проверяем поле с вкладом, чтобы были правильные даныне.
            try
            {
                // Записываем сумму в переменную.
                amount = Convert.ToDouble(txtAmount.Text);

                // Проверяем, чтобы сумма была больше 0.
                if (amount <= 0)
                {
                    throw new ValueLessThanZeroException("Ошибка : Сумма слишком маленькая.");
                }

                // Назначаем тип депозита.
                if (cmbType.Text == "С капитализацией")
                {
                    type = DepositType.WithСapitalization;
                }
                else
                {
                    type = DepositType.WithoutСapitalization;
                }
            }
            catch (ValueLessThanZeroException ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            catch (FormatException ex)
            {
                MessageBox.Show("Ошибка : Необходимо ввести только цифры.");
                return;
            }

            this.DialogResult = true;
        }
コード例 #20
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DepositType depositType = db.DepositTypes.Find(id);

            if (depositType == null)
            {
                return(HttpNotFound());
            }

            model.DepositTypes        = db.DepositTypes.OrderByDescending(a => a.DepositTypeID).ToList();
            model.SelectedDepositType = depositType;
            model.DisplayMode         = "Delete";
            ViewBag.MessageType       = "";
            ViewBag.Message           = "";
            return(View("Index", model));
        }
コード例 #21
0
        public async Task InitAsync(IServiceProvider serviceProvider)
        {
            using (var scope = serviceProvider.CreateScope())
            {
                var repository = scope.ServiceProvider.GetRequiredService <IRepository <DepositType> >();

                if (await repository.Table.AnyAsync())
                {
                    return;
                }

                var depositF = new DepositType
                {
                    Currency    = Currency.Uah,
                    Name        = "6 month deposit",
                    Months      = 6,
                    Percentages = 21
                };
                var depositS = new DepositType
                {
                    Currency    = Currency.Uah,
                    Name        = "3 month deposit",
                    Months      = 3,
                    Percentages = 15
                };
                var depositT = new DepositType
                {
                    Currency    = Currency.Uah,
                    Name        = "Super",
                    Months      = 4,
                    Percentages = 23
                };

                await Task.WhenAll(
                    repository.InsertAsync(depositF),
                    repository.InsertAsync(depositS),
                    repository.InsertAsync(depositT)
                    );
            }
        }
コード例 #22
0
        public ActionResult DeleteConfirmed(int id)
        {
            try
            {
                DepositType depositType = db.DepositTypes.Find(id);
                db.DepositTypes.Remove(depositType);
                db.SaveChanges();
                ViewBag.MessageType = "success";
                ViewBag.Message     = "Record has been removed successfully.";
            }
            catch (DbUpdateException ex)
            {
                ViewBag.MessageType = "error";
                ViewBag.Message     = ex.Message;
                ModelState.AddModelError(string.Empty, ex.Message);
            }
            model.DepositTypes        = db.DepositTypes.OrderByDescending(a => a.DepositTypeID).ToList();
            model.SelectedDepositType = null;
            model.DisplayMode         = "WriteOnly";
            ViewBag.IsActive          = new SelectList(db.Options, "OptionDesc", "OptionDesc");

            return(View("Index", model));
        }
コード例 #23
0
        private async Task <bool> InsertDeposit(IDataAccess context, Guid userId, int currencyId, TransactionData depositData,
                                                DepositType type, DepositStatus status)
        {
            try
            {
                Log.Message(LogLevel.Debug, "[InsertDeposit] - Inserting new deposit. CurrencyId: {0}, TxId: {1}", currencyId,
                            depositData.Txid);
                int rowAffected = await context.ExecuteAsync(_insertDeposit, new
                {
                    UserId          = userId,
                    CurrencyId      = currencyId,
                    Amount          = depositData.Amount,
                    TxId            = depositData.Txid,
                    Confirmations   = depositData.Confirmations,
                    DepositTypeId   = type,
                    DepositStatusId = status,
                    TimeStamp       = depositData.Time == 0
                                                ? DateTime.UtcNow
                                                : depositData.Time.ToDateTime()
                });

                if (rowAffected > 0)
                {
                    Log.Message(LogLevel.Debug, "[InsertDeposit] - New deposit inserted. CurrencyId: {0}, TxId: {1}", currencyId,
                                depositData.Txid);
                    return(true);
                }
                Log.Message(LogLevel.Error, "[InsertDeposit] - Failed to insert deposit, CurrencyId: {0}, TxId: {1}", currencyId,
                            depositData.Txid);
            }
            catch (Exception ex)
            {
                LogError(ex, "InsertDeposit", "Failed to insert deposit, CurrencyId: {0}, TxId: {1}", currencyId, depositData.Txid);
            }
            return(false);
        }
コード例 #24
0
        public async Task<Purchase> AddToDeposit(DepositType dt)
	    {
            ProductListing product = await FindProductForId(depositIds[(int)dt]);

            string receiptString;
            try
            {
                if (CurrentApp.LicenseInformation.ProductLicenses[product.ProductId].IsActive)
                {
                    receiptString = await CurrentApp.GetProductReceiptAsync(product.ProductId);
                }
                else
                {
                    receiptString = await CurrentApp.RequestProductPurchaseAsync(product.ProductId, true);
                }
            }
            catch (COMException e)
            {
                return null;
            }

            try
            {
                var document = XDocument.Parse(receiptString);
                var receipt = document.DescendantNodes().OfType<XElement>().FirstOrDefault(x => x.Name.LocalName == "ProductReceipt");

                if (receipt != null)
                {
                    var productIdAttribute = receipt.Attribute("ProductId");

                    if (productIdAttribute == null || productIdAttribute.Value != product.ProductId)
                    {
                        throw new InvalidOperationException("Windows Store purchase failed.");
                    }
                }
                else
                {
                    throw new InvalidOperationException("Windows Store purchase failed.");
                }
            }
            catch (InvalidOperationException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new InvalidOperationException("Windows Store purchase failed.", ex);
            }

            return new Purchase { Art = 0, Win8Inapp = receiptString, ProductId = product.ProductId };
	    }
コード例 #25
0
        public async Task CreateDepositType(DepositType depositType)
        {
            await _depositTypeRepository.InsertAsync(depositType);

            await _depositTypeRepository.SaveAsync();
        }
コード例 #26
0
 public DepositAccount(Customer holder, decimal balance, decimal interestRate, DepositType depositType, AccountType accountType)
     : base(holder, balance, interestRate, accountType)
 {
     this.DepositType = depositType;
 }
コード例 #27
0
        public ActionResult Create(FormSaleDetail formSaleDetail)
        {
            string ErrorMessage = "";
            int    count        = 0;

            try
            {
                FormSaleDetail fsd       = db.FormSaleDetails.FirstOrDefault(f => f.FormNo == formSaleDetail.FormNo);
                Applicant      applicant = db.Applicants.FirstOrDefault(f => f.FormNo == formSaleDetail.FormNo);
                if (fsd == null && applicant == null)
                {
                    DepositType dt           = db.DepositTypes.FirstOrDefault(d => d.DepositTypeID == formSaleDetail.DepositTypeID);
                    string      depositeType = "";
                    if (dt != null)
                    {
                        depositeType = dt.DepositTypeName;
                    }
                    if (depositeType.ToLower() == "cash")
                    {
                        formSaleDetail.AccountID     = null;
                        formSaleDetail.DepositSlipNo = null;
                    }
                    else if (depositeType.ToLower() == "bank")
                    {
                        if (formSaleDetail.AccountID == null || formSaleDetail.AccountID == 0)
                        {
                            ModelState.AddModelError(string.Empty, "Please select Bank Account.");
                            count++;
                            ErrorMessage       += count + "-Please select Bank Account.<br />";
                            ViewBag.MessageType = "error";
                        }

                        if (string.IsNullOrEmpty(formSaleDetail.DepositSlipNo))
                        {
                            ModelState.AddModelError(string.Empty, "Please enter Deposit Slip #.");
                            count++;
                            ErrorMessage       += count + "-Please enter Deposit Slip #.<br />";
                            ViewBag.MessageType = "error";
                        }
                    }

                    if (formSaleDetail.PurchaseDate == null)
                    {
                        ModelState.AddModelError(string.Empty, "Purchase Date is required.");
                        count++;
                        ErrorMessage       += count + "-Purchase Date is required.<br />";
                        ViewBag.MessageType = "error";
                    }

                    if (string.IsNullOrEmpty(ErrorMessage))
                    {
                        try
                        {
                            formSaleDetail.CreatedBy   = Convert.ToInt32(Session["emp_id"]);
                            formSaleDetail.ModifiedBy  = 0;
                            formSaleDetail.IsReceived  = "No";
                            formSaleDetail.ReceiveDate = null;
                            db.InsertFormSaleDetail(formSaleDetail.FormID, formSaleDetail.FormNo
                                                    , formSaleDetail.FormTypeID, formSaleDetail.FormPrice
                                                    , formSaleDetail.FormDescription, formSaleDetail.DepositTypeID
                                                    , formSaleDetail.BatchProgramID, formSaleDetail.ApplicantName
                                                    , formSaleDetail.FatherName, formSaleDetail.PhoneNo, formSaleDetail.CNIC
                                                    , formSaleDetail.DepositSlipNo, formSaleDetail.PurchaseDate
                                                    , formSaleDetail.AccountID, formSaleDetail.CreatedBy, formSaleDetail.IsActive
                                                    , formSaleDetail.ModifiedBy, formSaleDetail.IsReceived, formSaleDetail.ReceiveDate);
                            ViewBag.MessageType = "success";
                            ViewBag.Message     = "Data has been saved successfully.";
                        }
                        catch (EntityCommandExecutionException ex)
                        {
                            ViewBag.MessageType = "error";
                            ViewBag.Message     = ex.Message;
                            ModelState.AddModelError(string.Empty, ex.Message);
                        }
                    }
                    else
                    {
                        ViewBag.MessageType = "error";
                        ViewBag.Message     = ErrorMessage;
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Form # is already exists.");
                    ViewBag.MessageType = "error";
                    ViewBag.Message     = "Form # is already exists.";
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (DbEntityValidationResult validationResult in ex.EntityValidationErrors)
                {
                    string entityName = validationResult.Entry.Entity.GetType().Name;
                    foreach (DbValidationError error in validationResult.ValidationErrors)
                    {
                        ModelState.AddModelError(string.Empty, error.ErrorMessage);
                        count++;
                        ErrorMessage += count + "-" + string.Concat(error.PropertyName, " is required.") + "<br />";
                    }
                }
                ViewBag.MessageType = "error";
                ViewBag.Message     = ErrorMessage;
            }
            model.FormSaleDetails        = db.FormSaleDetails.Where(f => f.PurchaseDate != null).OrderByDescending(a => a.FormID).ToList();
            model.SelectedFormSaleDetail = null;
            model.DisplayMode            = "WriteOnly";
            ViewBag.IsActive             = new SelectList(db.Options, "OptionDesc", "OptionDesc", formSaleDetail.IsActive);
            ViewBag.FormTypeID           = new SelectList(db.FormTypes, "FormTypeID", "FormTypeName", formSaleDetail.FormTypeID);
            ViewBag.DepositTypeID        = new SelectList(db.DepositTypes, "DepositTypeID", "DepositTypeName", formSaleDetail.DepositTypeID);
            ViewBag.BatchProgramID       = new SelectList(db.GetBatchProgramNameConcat("", 0), "ID", "Name", formSaleDetail.BatchProgramID);
            ViewBag.AccountID            = new SelectList(dbFinance.Bank_Account, "Account_ID", "Account_No", formSaleDetail.AccountID);
            return(View("Index", model));
        }
コード例 #28
0
        public async Task Deposit(DepositType depositType, CancellationToken cancellationToken)
	    {
            CatalitCredentials creds = _credentialsProvider.ProvideCredentials(cancellationToken);
            if (creds == null)
            {
                creds = await _profileProvider.RegisterDefault(cancellationToken);
                _credentialsProvider.RegisterCredentials(creds, cancellationToken);
            }

	        Purchase newPurchase = null;
	        try
	        {
	            newPurchase = await _inAppPurchaseService.AddToDeposit(depositType);
	        }
	        catch (Exception ex)
	        {
	            return;
	        }
	        //purchase cancelled or not exist
            if (newPurchase == null) return;

            var parameters = new Dictionary<string, object>
			{
				{ "inapp_data", newPurchase.Win8Inapp },
			};

            PurchaseResponse purchase = null;
            try
            {
                purchase = await _client.PurchaseBook(parameters, cancellationToken, false);
            }
            catch (CatalitInappProcessingFailedException e)
            {
                if (((CatalitInappProcessingFailedException) e).ErrorCode == 309)
                {
                    _inAppPurchaseService.CheckProductIsUsed(depositType);
                }
                purchase = new PurchaseResponse { State = "failed" };               
            }

	        switch (purchase.State)
	        {
	            case "pending":
	                break;
	            case "unknown":
	            case "closed_ok_book_failed":
	            case "failed":
	                UpdateDepositFailed();
	                break;
	            case "closed_ok":
	                //ToDo: Do something
                    {
	                    _inAppPurchaseService.CheckProductIsUsed(depositType);
	                    UpdateDeposit();
	                }
	            break;
            }
            
	    }
コード例 #29
0
        public void Add(string depositName, decimal minimumAmount, decimal maximumAmount, DepositType depositType,
                        string contractualInterest, Currency currency, InterestPayment interestPayment, DepositFor depositFor,
                        InterestType interestType, IncreasingAmount increasingAmount, OverdraftOpportunity overdraftOpportunity,
                        CreditOpportunity creditOpportunity, InterestCapitalize interestCapitalize, string maximumMonthPeriod,
                        string minimumMonthPeriod, string validDepositDeadlines, ValidForCustomer validForCustomer,
                        MonthlyAccrual monthlyAccrual, string additionalTerms, string bonuses, int bankId,
                        decimal interestForOneMonth, decimal interestForThreeMonths, decimal interestForSixMonths,
                        decimal interestForNineMonths, decimal interestForTwelveMonths, decimal interestForEighteenMonths,
                        decimal interestForTwentyFourMonths, decimal interestForThirtySixMonths, decimal interestForFortyEightMonths,
                        decimal interestForSixtyMonths)
        {
            var bank = this.banksService.GetById <Bank>(bankId);

            var deposit = new Deposit
            {
                Name                        = depositName,
                MinimumAmount               = minimumAmount,
                MaximumAmount               = maximumAmount,
                DepositType                 = depositType,
                ContractualInterest         = contractualInterest,
                Currency                    = currency,
                InterestPayment             = interestPayment,
                InterestType                = interestType,
                IncreasingAmount            = increasingAmount,
                DepositFor                  = depositFor,
                OverdraftOpportunity        = overdraftOpportunity,
                CreditOpportunity           = creditOpportunity,
                InterestCapitalize          = interestCapitalize,
                MaximumMonthPeriod          = maximumMonthPeriod,
                MinimumMonthPeriod          = minimumMonthPeriod,
                ValidDepositDeadlines       = validDepositDeadlines,
                ValidForCustomer            = validForCustomer,
                MonthlyAccrual              = monthlyAccrual,
                AdditionalTerms             = additionalTerms,
                Bonuses                     = bonuses,
                Bank                        = bank,
                InterestForOneMonth         = interestForOneMonth,
                InterestForThreeMonths      = interestForThreeMonths,
                InterestForSixMonths        = interestForSixMonths,
                InterestForNineMonths       = interestForNineMonths,
                InterestForTwelveMonths     = interestForTwelveMonths,
                InterestForEighteenMonths   = interestForEighteenMonths,
                InterestForTwentyFourMonths = interestForTwentyFourMonths,
                InterestForThirtySixMonths  = interestForThirtySixMonths,
                InterestForFortyEightMonths = interestForFortyEightMonths,
                InterestForSixtyMonths      = interestForSixtyMonths
            };

            this.dbContext.Deposits.Add(deposit);
            this.dbContext.SaveChanges();
        }
コード例 #30
0
 public SixMonthDeposit(Customer holder, decimal balance, decimal interestRate, DepositType depositType, AccountType accountType)
     : base(holder, balance, interestRate, depositType, accountType)
 {
 }
コード例 #31
0
        public async Task UpdateDepositTypeService(DepositType depositType)
        {
            await _depositTypeRepo.UpdateAsync(depositType);

            await _depositTypeRepo.SaveAsync();
        }
コード例 #32
0
ファイル: VipClient.cs プロジェクト: goxa87/BankStructLibrary
 /// <summary>
 /// инициализация
 /// </summary>
 /// <param name="id">Идентификатор</param>
 /// <param name="name">Имя</param>
 /// <param name="last">Фамилия</param>
 /// <param name="depozit">первонач депозит</param>
 /// <param name="depRate">процентная ставка</param>
 /// <param name="dt">тип депозита</param>
 /// <param name="depositBonus">процент бонуса на депозит</param>
 /// <param name="creditMinusTax">минус на проценты по кредиту(константа)</param>
 public VipClient(int id, string name, string last, double depozit, double depRate, DepositType dt,
                  AccauntHandler handler, Action <string> bal, double depositBonus, double creditMinusTax)
     : base(id, name, last, depozit, depRate, dt, handler, bal)
 {
     DepositBonus   = depositBonus;
     CreditMinusTax = creditMinusTax;
 }
コード例 #33
0
 private async void AddToDepositFunc(DepositType dt)
 {
     var session = new Session(AddToDepositPart);
     session.AddParameter("depositType", dt);
     await Load(session);
 }
コード例 #34
0
        private void InsertFormDetail(FormSaleDetail formSaleDetail, ref string ErrorMessage, ref int count)
        {
            DepositType dt           = db.DepositTypes.FirstOrDefault(d => d.DepositTypeID == formSaleDetail.DepositTypeID);
            string      depositeType = "";

            if (dt != null)
            {
                depositeType = dt.DepositTypeName;
            }
            if (depositeType.ToLower() == "cash")
            {
                formSaleDetail.AccountID     = null;
                formSaleDetail.DepositSlipNo = null;
            }
            else if (depositeType.ToLower() == "bank")
            {
                if (formSaleDetail.AccountID == null || formSaleDetail.AccountID == 0)
                {
                    ModelState.AddModelError(string.Empty, "Please select Bank Account.");
                    count++;
                    ErrorMessage       += count + "-Please select Bank Account.<br />";
                    ViewBag.MessageType = "error";
                }

                if (string.IsNullOrEmpty(formSaleDetail.DepositSlipNo))
                {
                    ModelState.AddModelError(string.Empty, "Please enter Deposit Slip #.");
                    count++;
                    ErrorMessage       += count + "-Please enter Deposit Slip #.<br />";
                    ViewBag.MessageType = "error";
                }
            }

            if (formSaleDetail.ReceiveDate == null)
            {
                ModelState.AddModelError(string.Empty, "Receive Date is required.");
                count++;
                ErrorMessage       += count + "-Receive Date is required.<br />";
                ViewBag.MessageType = "error";
            }

            if (string.IsNullOrEmpty(ErrorMessage))
            {
                try
                {
                    db.InsertFormSaleDetail(formSaleDetail.FormID, formSaleDetail.FormNo
                                            , formSaleDetail.FormTypeID, formSaleDetail.FormPrice
                                            , formSaleDetail.FormDescription, formSaleDetail.DepositTypeID
                                            , formSaleDetail.BatchProgramID, formSaleDetail.ApplicantName
                                            , formSaleDetail.FatherName, formSaleDetail.PhoneNo, formSaleDetail.CNIC
                                            , formSaleDetail.DepositSlipNo, formSaleDetail.PurchaseDate
                                            , formSaleDetail.AccountID, formSaleDetail.CreatedBy, formSaleDetail.IsActive
                                            , formSaleDetail.ModifiedBy, formSaleDetail.IsReceived, formSaleDetail.ReceiveDate);
                    ViewBag.MessageType = "success";
                    ViewBag.Message     = "Data has been saved successfully.";
                }
                catch (EntityCommandExecutionException ex)
                {
                    ViewBag.MessageType = "error";
                    ViewBag.Message     = ex.Message;
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }
            else
            {
                ViewBag.MessageType = "error";
                ViewBag.Message     = ErrorMessage;
            }
        }
コード例 #35
0
	    public void CheckProductIsUsed(DepositType dt)
	    {
	        CheckProductIsUsed(depositIds[(int) dt]);
	    }