public async Task <Response> UpdateFailureStatus(LeadFailureModel leadFailureStatusModel, ClaimsPrincipal user) { using (var context = _applicationDbContextFactory.Create()) { var User = await _userManager.FindByNameAsync(user.Identity.Name); var Lead = context.Leads.Where(i => i.Id == leadFailureStatusModel.Id).FirstOrDefault(); Lead.LeadStatusId = context.LeadStatuses.Where(i => i.Name.ToLower() == "провальная сделка").Select(i => i.Id).FirstOrDefault(); Lead.LeadFailureStatusId = leadFailureStatusModel.LeadFailureReasonId; if (!context.Leads.Any(i => i.Id == Lead.Id)) { return new Response { Status = 500, Message = "Нет такого лида!" } } ; if (!context.Check <LeadFailureStatus>(leadFailureStatusModel.LeadFailureReasonId)) { return new Response { Status = 500, Message = "Такого статуса нет!" } } ; context.LeadHistories.Add(new LeadHistory { Action = "Обновление", LeadId = leadFailureStatusModel.Id, DateTime = DateTime.Now, UserId = User.Id }); context.Leads.Update(Lead); context.SaveChanges(); return(new Response { Status = 100, Message = "Запрос успешно прошел" }); } }
public async Task <ActionResult <Response> > LeadFailure(LeadFailureModel model) { return(await _leadService.UpdateFailureStatus(model, User)); }