public static Customer DoRegistrationConfirmation(Registration registration, KoloAndroidEntities db, out string error) { var confirmationTime = DateTime.Now; error = ""; var reg = db.Registrations.FirstOrDefault(r => r.IdRegistration == registration.IdRegistration); if (reg != null) { if (reg.RegistrationTokenExpiryDate.HasValue) { if (reg.RegistrationToken.Equals(registration.RegistrationToken)) { if (reg.RegistrationTokenExpiryDate.Value >= confirmationTime) { reg.RegistrationStatusCode = "COMPLETED"; reg.RegistrationConfirmDate = DateTime.Now; Customer customer = db.Customers.Include("Person").FirstOrDefault(c => c.IdRegistration == reg.IdRegistration); if (customer == null) { customer = RegistrationHelper.CreateCustomer(reg); customer.Registration = reg; db.Customers.Add(customer); } try { db.SaveChanges(); } catch (DbEntityValidationException e) { error = ExceptionHelper.GetExceptionMessage(e); error += string.Empty; } return(customer); } return(new Customer() { IdCustomer = -40 }); } return(new Customer() { IdCustomer = -30 }); } return(new Customer() { IdCustomer = -20 }); } return(new Customer() { IdCustomer = -10 }); }
public static Registration DoRegistration(Registration registration, KoloAndroidEntities db, out string error) { error = ""; try { if (!RegistrationHelper.RegistrationExists(registration.PhoneNumber, db)) { registration.RegistrationStatusCode = "NEEDCONFIRM"; registration.RegistrationDate = DateTime.Now; var token = RegistrationHelper.RandomString(4); registration.RegistrationToken = token.Substring(0, Math.Min(ExpirationDelay, token.Length)); registration.RegistrationTokenExpiryDate = DateTime.Now.AddMinutes(10); db.Registrations.Add(registration); db.SaveChanges(); return(registration); } else { var oldRegistration = RegistrationHelper.GetRegistration(registration.PhoneNumber, db); oldRegistration.RegistrationStatusCode = "NEEDCONFIRM"; db.SaveChanges(); return(oldRegistration); //return new Registration() { IdRegistration = -10, RegistrationStatusCode = "Account arlready exists" }; } } catch (Exception e) { error = ExceptionHelper.GetExceptionMessage(e); } var reg = new Registration() { IdRegistration = -100, RegistrationStatusCode = error }; return(reg); }