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); }
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(); }
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); }
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 })); }
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"); } } }
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); } }
public async Task <IActionResult> CreatePassiveForUser([FromBody] PassiveDto passive) => Ok(await _passiveService.CreatePassiveForUserAsync(passive, User.GetIdentifier()));
public async Task <IActionResult> UpdatePassive([FromBody] PassiveDto passive) => Ok(await _passiveService.UpdatePassiveAsync(passive));
public Task <PassiveDto> CreatePassiveForUserAsync(PassiveDto passive, string userId) { return(_provider.CreatePassiveForUserAsync(passive, userId)); }
public Task <PassiveDto> UpdatePassiveAsync(PassiveDto passive) { return(_provider.UpdatePassiveAsync(passive)); }
private void CancelEditPassive(PassiveDto passive) { _passiveGrid.CancelEditRow(passive); }
private void SaveRowPassive(PassiveDto passive) { _passiveGrid.UpdateRow(passive); }
private void EditRowPassive(PassiveDto passive) { _passiveGrid.EditRow(passive); }