Пример #1
0
        public void AddNewTenant(string email, string firstName, string middleName, string lastName, DateTime birthDate, string gender, string phone, string address, string appLang)
        {
            if (_db.user.Any(u => u.Email == email))
            {
                throw new MyException(Errors.UserExists);
            }
            var trans    = _db.Database.BeginTransaction();
            var password = StringTransformationProvider.GeneratePassword();

            try
            {
                var newUser = new user
                {
                    Email      = email,
                    Deleted    = false,
                    Guid       = Guid.NewGuid().ToString(),
                    Password   = StringTransformationProvider.Md5(password),
                    UserTypeId = _db.usertype.First(t => t.Tag == UserTypes.Tenant).Id
                };
                _db.user.Add(newUser);
                _db.SaveChanges();
                _db.tenant.Add(new tenant
                {
                    Address    = address,
                    BirthDate  = birthDate,
                    UserId     = newUser.Id,
                    FirstName  = firstName,
                    LastName   = lastName,
                    MiddleName = middleName,
                    Gender     = gender,
                    Phone      = phone
                });
                _db.SaveChanges();
                trans.Commit();
                MailProvider.SendMailWithCredintails(password, firstName, middleName, email, appLang);
            }
            catch
            {
                trans.Rollback();
                throw;
            }
        }
Пример #2
0
        public ActionResult AddNewGuide(NewGuideModel model)
        {
            var repo = DependencyResolver.Current.GetService <IRepository>();

            try
            {
                model.Password = StringTransformationProvider.GeneratePassword();
                repo.AddNewGuide(model);
                MailProvider.SendMailWithCredintails(model.Password, model.FirstName, model.MiddleName, model.Email);
            }
            catch (MyException e)
            {
                return(new JsonResult
                {
                    JsonRequestBehavior = JsonRequestBehavior.DenyGet,
                    Data = new { success = false, errorReason = e.Error.Message }
                });
            }
            return(new JsonResult
            {
                JsonRequestBehavior = JsonRequestBehavior.DenyGet,
                Data = new { success = true }
            });
        }