public IHttpActionResult PostRegVendor(VendorReg vendor) { if (ModelState.IsValid) { Dictionary <string, Dictionary <string, string> > keyValuePairs = this.userRepository.RegisterVendor(vendor); if (keyValuePairs.ContainsKey("Success")) { return(Created("", keyValuePairs["Success"])); } else if (keyValuePairs.ContainsKey("Errors")) { return(Content(HttpStatusCode.Conflict, new { Errors = keyValuePairs["Errors"] })); } else { return(StatusCode(HttpStatusCode.BadRequest)); } } else { var errors = new Hashtable(); foreach (var pair in ModelState) { if (pair.Value.Errors.Count > 0) { errors[pair.Key] = pair.Value.Errors.Select(error => error.ErrorMessage).ToList().ElementAt(0); } } return(Content(HttpStatusCode.BadRequest, new { Errors = errors })); } }
public IHttpActionResult PostVendorReg(VendorReg vendorReg) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.VendorRegs.Add(vendorReg); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = vendorReg.RegId }, vendorReg)); }
public Dictionary <string, Dictionary <string, string> > RegisterVendor(VendorReg vendor) { Dictionary <string, Dictionary <string, string> > keyValuePairs = new Dictionary <string, Dictionary <string, string> >(); Dictionary <string, string> errors = new Dictionary <string, string>(); if (this.GetAll().Where(u => u.Username == vendor.Username).FirstOrDefault() != null) { errors.Add("vendor.Username", "Username is already taken"); } if (this.GetAll().Where(u => u.Email == vendor.Email).FirstOrDefault() != null) { errors.Add("vendor.Email", "Email is already used"); } if (this.vendorRepository.GetAll().Where(v => v.VendorName == vendor.VendorName).FirstOrDefault() != null) { errors.Add("vendor.Vendorname", "Vendor Name is already used"); } if (errors.Count == 0) { User _user = new User(); _user.Username = vendor.Username; _user.Email = vendor.Email; _user.Name = vendor.Name; _user.Password = vendor.Password; _user.UserType = "pvendor"; this.Insert(_user); Vendor _vendor = new Vendor(); _vendor.VendorName = vendor.VendorName; _vendor.UserId = _user.UserId; this.vendorRepository.Insert(_vendor); keyValuePairs.Add("Success", new Dictionary <string, string>() { { "Msg", "Account created successfully" } }); } else { keyValuePairs.Add("Errors", errors); } return(keyValuePairs); }