Exemplo n.º 1
0
        public async Task <PassiveDto> CreatePassiveForUserAsync(PassiveDto passive, string userId)
        {
            //TODO: бизенс логику убрать в menager, сделать в одной транзакции
            var orderNumber = _context.Expenses
                              .Where(x => x.UserId == userId)
                              .OrderByDescending(x => x.OrderNumber).FirstOrDefault()?.OrderNumber + 1 ?? 1;
            var newExpense = new Expense {
                Name = passive.Name, OrderNumber = orderNumber, Price = 0, UserId = userId
            };
            await _context.Expenses.AddAsync(newExpense);

            var newPassive = new Passive
            {
                Name        = passive.Name,
                OrderNumber = passive.OrderNumber,
                Price       = passive.Price,
                UserId      = userId,
                ExpenseId   = newExpense.Id
            };
            await _context.Passives.AddAsync(newPassive);

            await _context.SaveChangesAsync();

            passive.Id          = newPassive.Id;
            passive.Name        = newPassive.Name;
            passive.OrderNumber = newPassive.OrderNumber;
            passive.Price       = newPassive.Price;

            return(passive);
        }
Exemplo n.º 2
0
        private async Task OnCreateRowPassive(PassiveDto passive)
        {
            try
            {
                //TODO: Обрабатывать Exception авторизации
                passive = await _passiveService.CreatePassiveForUserAsync(passive, string.Empty);
            }
            catch (Exception _)
            {
                NavigationManager.NavigateTo("/login");
            }

            _passives.Add(passive);
            await _passiveGrid.Reload();
        }
Exemplo n.º 3
0
        public async Task <PassiveDto> UpdatePassiveAsync(PassiveDto passive)
        {
            Passive original = await _context.Passives.FindAsync(passive.Id);

            original.Name        = passive.Name;
            original.OrderNumber = passive.OrderNumber;
            original.Price       = passive.Price;

            await _context.SaveChangesAsync();

            passive.Id          = original.Id;
            passive.Name        = original.Name;
            passive.OrderNumber = original.OrderNumber;
            passive.Price       = original.Price;
            return(passive);
        }
Exemplo n.º 4
0
        public async Task <PassiveDto> CreatePassiveForUserAsync(PassiveDto passive, string userId)
        {
            var bodyContent = new StringContent(JsonSerializer.Serialize(passive), Encoding.UTF8, "application/json");

            var refreshResult = await _client.PostAsync("api/passive/createforuser", bodyContent);

            if (!refreshResult.IsSuccessStatusCode)
            {
                throw new Exception(refreshResult.ToString());
            }

            var refreshContent = await refreshResult.Content.ReadAsStringAsync();

            return(JsonSerializer.Deserialize <PassiveDto>(refreshContent, new JsonSerializerOptions {
                PropertyNameCaseInsensitive = true
            }));
        }
Exemplo n.º 5
0
        private async Task OnUpdateRowPassive(PassiveDto passive)
        {
            PassiveDto edit = _passives.FirstOrDefault(x => x.Id == passive.Id);

            if (edit != null)
            {
                edit.Name        = passive.Name;
                edit.Price       = passive.Price;
                edit.OrderNumber = passive.OrderNumber;

                try
                {
                    //TODO: Обрабатывать Exception авторизации
                    await _passiveService.UpdatePassiveAsync(edit);
                }
                catch (Exception _)
                {
                    NavigationManager.NavigateTo("/login");
                }
            }
        }
Exemplo n.º 6
0
        private async Task DeleteRowPassive(PassiveDto passive)
        {
            if (_passives.Contains(passive))
            {
                _passives.Remove(passive);
                await _passiveGrid.Reload();

                try
                {
                    //TODO: Обрабатывать Exception авторизации
                    await _passiveService.RemovePassiveAsync(passive.Id);
                }
                catch (Exception _)
                {
                    NavigationManager.NavigateTo("/login");
                }
            }
            else
            {
                _passiveGrid.CancelEditRow(passive);
            }
        }
Exemplo n.º 7
0
 public async Task <IActionResult> CreatePassiveForUser([FromBody] PassiveDto passive) =>
 Ok(await _passiveService.CreatePassiveForUserAsync(passive, User.GetIdentifier()));
Exemplo n.º 8
0
 public async Task <IActionResult> UpdatePassive([FromBody] PassiveDto passive) =>
 Ok(await _passiveService.UpdatePassiveAsync(passive));
Exemplo n.º 9
0
 public Task <PassiveDto> CreatePassiveForUserAsync(PassiveDto passive, string userId)
 {
     return(_provider.CreatePassiveForUserAsync(passive, userId));
 }
Exemplo n.º 10
0
 public Task <PassiveDto> UpdatePassiveAsync(PassiveDto passive)
 {
     return(_provider.UpdatePassiveAsync(passive));
 }
Exemplo n.º 11
0
 private void CancelEditPassive(PassiveDto passive)
 {
     _passiveGrid.CancelEditRow(passive);
 }
Exemplo n.º 12
0
 private void SaveRowPassive(PassiveDto passive)
 {
     _passiveGrid.UpdateRow(passive);
 }
Exemplo n.º 13
0
 private void EditRowPassive(PassiveDto passive)
 {
     _passiveGrid.EditRow(passive);
 }