public void RecoverPassword(string email, string appLang)
        {
            var user = _db.user.FirstOrDefault(t => t.Email == email);

            if (user == null)
            {
                throw new MyException(Errors.UserNotFound);
            }
            var password = StringTransformationProvider.GeneratePassword();

            user.Password = StringTransformationProvider.Md5(password);
            _db.SaveChanges();
            var tenant = user.tenant.FirstOrDefault();

            if (tenant != null)
            {
                MailProvider.SendMailRecoveryPassword(password, tenant.FirstName,
                                                      tenant.MiddleName, user.Email, appLang);
                return;
            }
            else
            {
                var guide = user.guide.FirstOrDefault();
                if (guide != null)
                {
                    MailProvider.SendMailRecoveryPassword(password, guide.FirstName,
                                                          guide.MiddleName, user.Email, appLang);
                    return;
                }
                else
                {
                    var journalist = user.journalist.FirstOrDefault();
                    if (journalist != null)
                    {
                        MailProvider.SendMailRecoveryPassword(password, journalist.FirstName,
                                                              journalist.MiddleName, user.Email, appLang);
                        return;
                    }
                    else
                    {
                        var editor = user.editor.FirstOrDefault();
                        if (editor != null)
                        {
                            MailProvider.SendMailRecoveryPassword(password, editor.FirstName,
                                                                  editor.MiddleName, user.Email, appLang);
                            return;
                        }
                        else
                        {
                            MailProvider.SendMailRecoveryPassword(password, "",
                                                                  "", user.Email, appLang);
                            return;
                        }
                    }
                }
            }
        }