public async Task <IActionResult> Create([FromBody] VendorCreateViewModel input) { var user = User.GetDetails(); var data = _mapper.Map <VendorCreateViewModel, Vendor>(input); var vendor = new Vendor(input.Name, input.ContactPerson, true, input.Status, input.ProprietorName, user.Id); vendor.SetContactDetailsAndIdentity(input.MobileNo, input.LandlineNo, input.PANNo, input.PANHolderName, input.AadharNo); vendor.SetVendorTypeAndStatus(input.VendorType, input.VendorStatus); vendor.AddVendorUsers(data.VendorUsers.ToList(), user.Id); if (await _unitOfWork.Vendors.AnyAsync(vendor)) { return(BadRequest("Vendor Already Exists")); } _unitOfWork.Vendors.Add(vendor); await _unitOfWork.CompleteAsync(user.Id); return(Ok(vendor)); }
public async Task <IActionResult> InviteVendor([FromBody] VendorInvitationViewModel input) { var user = User.GetDetails(); var vendorInvitation = new Vendor(input.Name, input.VendorType, user.Id); var vendorUsers = new List <VendorUser>() { new VendorUser(input.Email, " ", "") }; vendorInvitation.AddVendorUsers(vendorUsers, user.Id); if (await _unitOfWork.Vendors.AnyAsync(vendorInvitation)) { return(BadRequest("Vendor Already Exists.")); } _unitOfWork.Vendors.Add(vendorInvitation); await _unitOfWork.CompleteAsync(user.Id); return(Ok(vendorInvitation)); }