private PendingDispensary AutoMapModelToEntity(PendingDispensaryModel pendingDispensary) { var entity = new PendingDispensary() { Id = pendingDispensary.Id, AddressId = pendingDispensary.AddressId, Email = pendingDispensary.Email, Name = pendingDispensary.Name, PhoneNumber = pendingDispensary.PhoneNumber, PendingDispensaryStatus = PendingDispensaryStatus.Initilized, Type = pendingDispensary.Type, Website = pendingDispensary.Website, Password = UserManager.PasswordHasher.HashPassword(pendingDispensary.Password) }; if (pendingDispensary.Address != null) { entity.Address = new Address() { Address1 = pendingDispensary.Address.Address1, Address2 = pendingDispensary.Address.Address2, City = pendingDispensary.Address.City, State = pendingDispensary.Address.State, Zip = pendingDispensary.Address.Zip, Country = pendingDispensary.Address.Country }; } return(entity); }
private void UpadteDispensary(PendingDispensaryModel pendingDispensary) { var entity = HGContext.PendingDispensaries.SingleOrDefault(d => d.Id == pendingDispensary.Id); entity.Id = pendingDispensary.Id; entity.AddressId = pendingDispensary.AddressId; entity.Email = pendingDispensary.Email; entity.Name = pendingDispensary.Name; entity.PhoneNumber = pendingDispensary.PhoneNumber; entity.PendingDispensaryStatus = PendingDispensaryStatus.WaitingForApprove; entity.Type = pendingDispensary.Type; entity.Website = pendingDispensary.Website; HGContext.Entry(entity).State = EntityState.Modified; var address = HGContext.Addresses.SingleOrDefault(a => a.Id == pendingDispensary.Id); if (address != null) { address.Address1 = pendingDispensary.Address.Address1; address.Address2 = pendingDispensary.Address.Address2; address.City = pendingDispensary.Address.City; address.State = pendingDispensary.Address.State; address.Zip = pendingDispensary.Address.Zip; address.Country = pendingDispensary.Address.Country; HGContext.Entry(address).State = EntityState.Modified; } HGContext.SaveChanges(); }
public async Task <HttpResponseMessage> UpdatePendingDispensaryLicense([FromBody] PendingDispensaryModel pendingDispensary) { var dispensary = await HGContext.PendingDispensaries.FindAsync(pendingDispensary.Id); dispensary.IdNumber = pendingDispensary.IdNumber; dispensary.ExperationDate = pendingDispensary.ExperationDate; HGContext.Entry(dispensary).State = EntityState.Modified; await HGContext.SaveChangesAsync(); return(Request.CreateResponse(HttpStatusCode.OK)); }
public async Task <HttpResponseMessage> UpdatePendingDispensaryDocuments([FromBody] PendingDispensaryModel pendingDispensary) { var dispensary = await HGContext.PendingDispensaries.FindAsync(pendingDispensary.Id); dispensary.DriversLicenseImageUrl = pendingDispensary.DriversLicenseImageUrl; dispensary.RecommendationImageUrl = pendingDispensary.RecommendationImageUrl; dispensary.PendingDispensaryStatus = PendingDispensaryStatus.WaitingForApprove; HGContext.Entry(dispensary).State = EntityState.Modified; await HGContext.SaveChangesAsync(); await SendVerifyEmaiForSuperAdminAccounts(dispensary); return(Request.CreateResponse(HttpStatusCode.OK)); }
public async Task <HttpResponseMessage> AddPendingDispensary([FromBody] PendingDispensaryModel pendingDispensary) { bool addressFlag = false; if (!ModelState.IsValid) { var errors = ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray(); var addressKey = ModelState.Where(x => x.Value.Errors.Count > 0 && x.Key.Contains("AddressId")).Select(x => new { x.Key, x.Value.Errors }).FirstOrDefault(); if (pendingDispensary.Id != 0) { bool flag = false; foreach (var error in errors) { if (!error.ToLower().Contains("password")) { flag = true; } } if (!flag) { UpadteDispensary(pendingDispensary); return(Request.CreateResponse(HttpStatusCode.OK)); } } if (errors.Length <= 1 && addressKey != null) { addressFlag = true; } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, errors)); } } if (await HGContext.PendingDispensaries.AnyAsync(p => p.Email.ToLower() == pendingDispensary.Email.ToLower()) || await HGContext.Users.AnyAsync(p => p.Email.ToLower() == pendingDispensary.Email.ToLower()) || await HGContext.Dispensaries.AnyAsync(p => p.EmailAddress.ToLower() == pendingDispensary.Email.ToLower())) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new[] { pendingDispensary.Email + " is already exist." })); } if (addressFlag) { /*Add Data in Address Table*/ var Address = new Address() { Name = pendingDispensary.Address.Name, Address1 = pendingDispensary.Address.Address1, Address2 = pendingDispensary.Address.Address2, City = pendingDispensary.Address.City, State = pendingDispensary.Address.State, Zip = pendingDispensary.Address.Zip, Country = pendingDispensary.Address.Country, CreatedAt = DateTimeOffset.UtcNow, UpdatedAt = DateTimeOffset.UtcNow }; HGContext.Addresses.Add(Address); await HGContext.SaveChangesAsync(); pendingDispensary.AddressId = Address.Id; } //TODO: Replace these line using automapper var entity = AutoMapModelToEntity(pendingDispensary); HGContext.PendingDispensaries.Add(entity); await HGContext.SaveChangesAsync(); //await SendVerifyEmaiForSuperAdminAccounts(entity); string webUrl = ConfigurationManager.AppSettings["webclientURL"]; await SendVerificationEmail(entity.Email, "Your application has been submitted, please login <a href='" + webUrl + "/dispensary/login'>here</a> and complete your data to active your account", "Dispensary registeration"); return(Request.CreateResponse(HttpStatusCode.OK, entity)); }