public async Task <ResponseResult> RegisterData(string userName, BFarmer farmer) { var response = new ResponseResult(); if (await Query().AnyAsync(m => m.Email.Equals(farmer.Email, StringComparison.OrdinalIgnoreCase))) { response.Status = Status.Fail; response.Data.Add("email", $"email {farmer.Email} already exist"); return(response); } var user = await _dbContext.Users.FirstOrDefaultAsync(u => u.UserName.Equals(userName, StringComparison.OrdinalIgnoreCase)); if (user == null) { throw new UserReferenceNotFoundException("The user reference does not exist"); } var farmerEntity = farmer.ToDbFarmer(); farmerEntity.DateCreated = DateTime.Now; farmerEntity.DateUpdated = DateTime.Now; user.Farmer = farmerEntity; _dbContext.Entry(user).State = EntityState.Modified; await _dbContext.SaveChangesAsync(); farmer.Id = farmerEntity.Id; response.Status = Status.Success; response.Data.Add("info", "farmer successfully created"); return(response); }
public async Task <ResponseResult> RegisterFarmer(BUser user, BFarmer farmer) { var response = new ResponseResult(); if (await _dbContext.Users.AnyAsync(u => u.UserName == user.UserName) || await Query().AnyAsync(m => m.Email == farmer.Email)) { response.Status = Status.Fail; response.Data.Add("username", $"username {user.UserName} already exist"); return(response); } var farmerEntity = farmer.ToDbFarmer(); farmerEntity.DateCreated = DateTime.Now; farmerEntity.DateUpdated = DateTime.Now; var userEntity = user.ToDbUser(); userEntity.DateCreated = DateTime.Now; userEntity.DateUpdated = DateTime.Now; farmerEntity.User = userEntity; await _dbContext.Farmers.AddAsync(farmerEntity); await _dbContext.SaveChangesAsync(); response.Status = Status.Success; response.Data.Add("info", "farmer successfully created"); return(response); }