public async Task <ActionResult> Create(PartnersCreateViewModel model) { if (!ModelState.IsValid) { return(Json(ModelState.ToDictionary())); } var partnerCreated = await _partnersManager.CreateAsync(model, User.Identity.GetUserId()); return(Json(partnerCreated)); }
public async Task <ActionResult> CreateBroker(PartnersCreateViewModel model) { ModelState.Remove(nameof(model.PartnerTypeId)); if (!ModelState.IsValid) { return(Json(ModelState.ToDictionary())); } model.PartnerTypeId = (await _partnersManager.GetPartnerType("брокер")).Id; var partnerCreated = await _partnersManager.CreateAsync(model, User.Identity.GetUserId()); return(Json(partnerCreated)); }
public async Task <PartnersListViewModel> CreateAsync(PartnersCreateViewModel model, string agentId) { if (string.IsNullOrEmpty(agentId)) { throw new ArgumentException("Не е намерен брокерът, който създава Партньори!"); } if (!await IsAdminOrAgent(agentId)) { throw new NotAuthorizedUserException("Потребителят няма право на това действие! Само админи и брокери имат право да създават Партньори !"); } if (await Exist(model.PhoneNumber)) { throw new ArgumentException("Съществува партньор с този телефонен номер!"); } if (!await IsPartnerTypeExisting(model.PartnerTypeId)) { throw new ContentNotFoundException("Не съществува типът Партньор, който сте избрали!"); } Partners colleague = new Partners { PartnerName = model.PartnerName, PartnerCompanyName = model.PartnerCompanyName, CityId = model.CityId, PhoneNumber = model.PhoneNumber, Email = model.Email, SocialMediaAccount = model.SocialMediaAccount, AdditionalInformation = model.AdditionalInformation, AgentIdCreator = agentId, PartnerTypeId = model.PartnerTypeId }; dbContext.Partners.Add(colleague); await dbContext.SaveChangesAsync(); return(await Get(agentId, colleague.Id)); }