Esempio n. 1
0
        public async Task <IActionResult> CreateAsync([FromBody] DebtInfo debtInfo)
        {
            var next = debtInfo.ToDebt();

            if (next == null)
            {
                return(BadRequest(new { message = "Информация о задолженности не передана." }));
            }

            var current = await _debtService.GetDebtByFieldsAsync(next);

            if (current == null)
            {
                // Добавляем новую запись
                await _debtService.CreateDebtAsync(next);

                return(Ok(next.Id));
            }

            if (!next.Equals(current))
            {
                // Изменяем либо перезаписываем запись, созданную не нами
                await _debtService.UpdateDebtAsync(current, next);

                return(Ok(next.Id));
            }

            return(Ok(next.Id));
        }