예제 #1
0
        public void Update(SysTransactionDTO item)
        {
            SysTransaction map = Mapper.Map <SysTransaction>(item);

            Database.TransactionsAC.Update(map);
            Database.Save();
        }
예제 #2
0
        public ActionResult Edit(SysTransactionDTO item)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    transactionService.Update(item);
                    return(RedirectToAction(nameof(AllCreated)));
                }

                return(View("ExeptionView"));//TODO заменить каким-то статусом
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
        }
예제 #3
0
        public void Create(ClientsAndTransactionDTO item, string userId)
        {
            string tcn = TcnGenerator();

            User              user        = Database.Users.GetByUserId(userId);
            Agent             agentFrom   = Database.Agents.Get((user.AgentId));
            SysTransactionDTO transaction = item.SysTransactionDto;
            ClientDTO         clientTo    = item.ClientDto;

            var result = _clientService.FirstOrDefault(c =>
                                                       c.Name == clientTo.Name && c.LastName == clientTo.LastName && c.MobilePhone == clientTo.MobilePhone);

            if (result == null)
            {
                _clientService.Create(clientTo);
                clientTo = _clientService.FirstOrDefault(c => c.MobilePhone == clientTo.MobilePhone);
            }
            else
            {
                clientTo = result;
            }

            Country  country  = Mapper.Map <Country>(_countryService.Get(agentFrom.CountryId));
            Currency currency =
                Database.Currencies.SingleOrDefault(c => c.Id == Convert.ToInt32(item.SysTransactionDto.CurrencyName));

            transaction.AgentFromId       = agentFrom.Id;
            transaction.TransactionStatus = (int)TransactionStatus.Created;
            transaction.Tcn             = tcn;
            transaction.UserFromId      = userId;
            transaction.CreateDateLocal = DateTime.UtcNow.AddHours(country.Utc); // Дата в часовом поясе агента
            transaction.ClientToId      = clientTo.Id;
            transaction.CreateDateUtc   = DateTime.UtcNow;
            transaction.CurrencyId      = currency.Id;

            var map = Mapper.Map <SysTransaction>(transaction);

            Database.TransactionsAC.Create(map);
            Database.Save();

            _countryService.UpdatePopularity(item.SysTransactionDto.CountryId);
        }