예제 #1
0
        protected void btnChange_OnClick(Object sender, EventArgs e)
        {
            var userInSession = (Users)Session["userinsession"];
            var user          = new Users {
                ID = Convert.ToInt32(tbUID.Text)
            };

            user.GetById();

            if (userInSession.Role != Users.Roles.SuperAdmin.ToString() && (user.Role == Users.Roles.Admin.ToString() || user.Role == Users.Roles.SuperAdmin.ToString()) && user.ID != userInSession.ID)
            {
                lblError.Text     = "Изменять пароль других администраторов может только администратор+!";
                errorDiv.CssClass = "loginError";
                return;
            }


            if (!string.IsNullOrEmpty(user.Password))
            {
                user.Password = OtherMethods.HashPassword(tbNewPassword.Text);
                user.Update(userInSession.ID, OtherMethods.GetIPAddress(), "ChangePasswords");
                lblError.Text     = "Обновлен пароль пользователя: " + user.Name + " " + user.Family + " (" + user.Email + ")";
                errorDiv.CssClass = "loginNotError";
                if (user.Email.Contains("@"))
                {
                    EmailMethods.MailSend("Ваш новый пароль", "Ваш новый пароль: " + tbNewPassword.Text, user.Email);
                }
            }
            else
            {
                lblError.Text     = "Пользователь не найден!";
                errorDiv.CssClass = "loginError";
            }
        }
예제 #2
0
        protected void btnSave_OnClick(Object sender, EventArgs e)
        {
            var param = Context.Items["sacredlink"].ToString();

            if (string.IsNullOrEmpty(param))
            {
                Response.Redirect("~/usernotification/6");
            }
            var base64Email = param.Remove(0, 32);

            byte[] byteEmail = Convert.FromBase64String(base64Email);
            var    email     = System.Text.Encoding.UTF8.GetString(byteEmail);
            var    password  = param.Substring(0, 32);
            var    user      = new Users {
                Email = email
            };

            user.GetByEmail();
            if (user.Password != password || string.IsNullOrEmpty(user.ID.ToString()))
            {
                Response.Redirect("~/usernotification/6");
            }
            else
            {
                user.Password = OtherMethods.HashPassword(tbNewPassword.Text);
                user.Update();
                EmailMethods.MailSend("Ваш новый пароль", "Ваш новый пароль: " + tbNewPassword.Text, user.Email);
                Response.Redirect("~/usernotification/7");
            }
        }
예제 #3
0
        public List <AllProfileResult> GetProfilesXML(string email, string password)
        {
            if (ApiMethods.IsApiAuthRequest())
            {
                var js = new JavaScriptSerializer {
                    MaxJsonLength = Int32.MaxValue
                };
                var allCityList = new List <AllProfileResult>();
                var user        = new Users {
                    Email = email
                };
                user.GetByEmail();
                if (user.Password != OtherMethods.HashPassword(password))
                {
                    allCityList.Add(new AllProfileResult
                    {
                        Name = "Ошибка",
                        ID   = "Такой комбинации логина и пароля не найдено!"
                    });
                }
                else
                {
                    var profiles = new UsersProfiles {
                        UserID = user.ID
                    };
                    var allProfilesDS = profiles.GetAllItems();

                    foreach (DataRow row in allProfilesDS.Tables[0].Rows)
                    {
                        string fioOrCompanyName;
                        if (String.IsNullOrEmpty(row["CompanyName"].ToString()))
                        {
                            fioOrCompanyName = row["FirstName"] + " " + row["LastName"];
                        }
                        else
                        {
                            fioOrCompanyName = row["CompanyName"].ToString();
                        }

                        var iDPlusType = row["TypeID"].ToString() + row["ID"];
                        allCityList.Add(new AllProfileResult {
                            Name = fioOrCompanyName, ID = iDPlusType
                        });
                    }
                }
                var responceBody = js.Serialize(allCityList);
                ApiMethods.LoggingRequest("GetProfilesXML",
                                          "UserProileAPI",
                                          "UserAPI",
                                          null,
                                          responceBody.Length,
                                          Convert.ToInt32(HttpContext.Current.Request.Params["userid"]),
                                          HttpContext.Current.Request.Params["apikey"]);
                return(allCityList);
            }
            return(null);
        }
예제 #4
0
        public ActionResult Register(Customer user, bool captchaValid)
        {
            try
            {
                var model = new AccountViewModel
                {
                    HeaderText         = BackendService.GetValueByTag("site_header_text"),
                    FooterAddress      = BackendService.GetValueByTag("official_address"),
                    FooterRequisites   = BackendService.GetValueByTag("official_requisites"),
                    MainTitle          = BackendService.GetValueByTag("not_official_name"),
                    FooterEmail        = BackendService.GetValueByTag("main_email"),
                    FooterPhones       = BackendService.GetValueByTag("main_phones"),
                    DeliveryNetVersion = BackendService.GetValueByTag("current_server_version"),
                    CabinetLink        = BackendService.GetValueByTag("current_admin_app_address"),
                    Slogan             = BackendService.GetValueByTag("slogan_title"),
                    FooterBody         = BackendService.GetValueByTag("footer_body"),
                    Skype     = BackendService.GetValueByTag("main_skype"),
                    PageInfo  = PageService.GetByName("register"),
                    UserModel = user
                };

                /*if (!this.IsCaptchaValid("Captcha is not valid"))
                 * {
                 *  ViewData["ErrorMessage"] = "Неверный ввод капчи";
                 *  return View(model);
                 * }*/

                if (ModelState.IsValid)
                {
                    user.Password = OtherMethods.HashPassword(user.Password);
                    var res = UserService.AddUser(user);

                    if (res == "0")
                    {
                        return(RedirectToAction("Success"));
                    }
                    else
                    {
                        ViewData["ErrorMessage"] = res;
                        return(View(model));
                    }
                }
                else
                {
                    ViewData["ErrorMessage"] = "Проверьте правильность заполнения данных";
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
        public void btnAllowApi_Click(Object sender, EventArgs e)
        {
            var id            = Page.Request.Params["id"];
            var userInSession = (Users)Session["userinsession"];
            var user          = new Users
            {
                ID       = Convert.ToInt32(id),
                AllowApi = 1,
                ApiKey   = OtherMethods.HashPassword(DateTime.Now.ToString("yyyy MMMM dd HH:mm:ss"))
            };

            user.Update(userInSession.ID, OtherMethods.GetIPAddress(), "ClientEdit");
            Page.Response.Redirect(Request.RawUrl);
        }
예제 #6
0
        public void bntCreate_Click(Object sender, EventArgs e)
        {
            var id            = Page.Request.Params["id"];
            var userInSession = (Users)Session["userinsession"];

            if (id == null)
            {
                lblError.Text = String.Empty;
                var loginCorrectly = UsersHelper.UserLoginChecker(tbLogin.Text.Trim());
                var emailCorrectly = UsersHelper.UserEmailChecker(tbEmail.Text.Trim());

                var registrationPosible = true;
                if (!emailCorrectly)
                {
                    lblError.Text      += "Пользователь с таким e-mail'ом уже есть в нашей базе!<br/>";
                    registrationPosible = false;
                }

                if (!loginCorrectly)
                {
                    lblError.Text      += "Пользователь с таким логином уже есть в нашей базе!<br/>";
                    registrationPosible = false;
                }

                //окончательная проверка
                if (!registrationPosible)
                {
                    return;
                }

                var manager = new Users
                {
                    Name       = tbName.Text,
                    Family     = tbFamily.Text,
                    Email      = tbEmail.Text,
                    Login      = tbLogin.Text,
                    Password   = OtherMethods.HashPassword(tbPassword.Text),
                    Status     = Convert.ToInt32(ddlStatus.SelectedValue),
                    Role       = ddlRole.SelectedValue,
                    CreateDate = DateTime.Now,

                    Address      = tbAddress.Text,
                    Phone        = tbPhone.Text,
                    PhoneHome    = tbPhoneHome.Text,
                    PhoneWorkOne = tbPhoneWorkOne.Text,
                    PhoneWorkTwo = tbPhoneWorkTwo.Text,
                    BirthDay     = Convert.ToDateTime(tbBirthDay.Text),
                    DateOfIssue  = Convert.ToDateTime(tbDateOfIssue.Text),

                    PassportSeria       = tbPassportSeria.Text,
                    PassportNumber      = tbPassportNumber.Text,
                    PersonalNumber      = tbPersonalNumber.Text,
                    ROVD                = tbROVD.Text,
                    Validity            = Convert.ToDateTime(tbValidity.Text),
                    RegistrationAddress = tbRegistrationAddress.Text,
                };
                manager.Create();

                var          body = "Вы зарегистрированы на сайте " + BackendHelper.TagToValue("current_app_address") + " в качестве " + manager.Role + ". Ваш логин: " + manager.Login + ", ваш е-mail: " + manager.Email;
                const string subj = "Регистрация нового работника";
                EmailMethods.MailSend(subj, body, manager.Email);
            }
            else
            {
                var manager = new Users {
                    ID = Convert.ToInt32(id)
                };
                manager.GetById();
                var oldRole = manager.Role;
                lblError.Text = String.Empty;
                var loginCorrectly = UsersHelper.UserLoginChecker(tbLogin.Text.Trim());
                var emailCorrectly = UsersHelper.UserEmailChecker(tbEmail.Text.Trim());

                var registrationPosible = true;
                if (!emailCorrectly && manager.Email != tbEmail.Text)
                {
                    lblError.Text      += "Пользователь с таким e-mail'ом уже есть в нашей базе!<br/>";
                    registrationPosible = false;
                }

                if (!loginCorrectly && manager.Login != tbLogin.Text)
                {
                    lblError.Text      += "Пользователь с таким логином уже есть в нашей базе!<br/>";
                    registrationPosible = false;
                }

                //окончательная проверка
                if (!registrationPosible)
                {
                    return;
                }

                manager.Name                  = tbName.Text.Trim();
                manager.Family                = tbFamily.Text.Trim();
                manager.Email                 = tbEmail.Text.Trim();
                manager.Login                 = tbLogin.Text.Trim();
                manager.Status                = Convert.ToInt32(ddlStatus.SelectedValue);
                manager.Role                  = ddlRole.SelectedValue;
                manager.ChangeDate            = DateTime.Now;
                manager.AccessOnlyByWhiteList = cbAccessOnlyByWhiteList.Checked ? 1 : 0;

                manager.Address      = tbAddress.Text;
                manager.Phone        = tbPhone.Text;
                manager.PhoneHome    = tbPhoneHome.Text;
                manager.PhoneWorkOne = tbPhoneWorkOne.Text;
                manager.PhoneWorkTwo = tbPhoneWorkTwo.Text;
                manager.BirthDay     = Convert.ToDateTime(tbBirthDay.Text);
                manager.DateOfIssue  = Convert.ToDateTime(tbDateOfIssue.Text);
                manager.Skype        = tbSkype.Text.Trim();

                manager.PassportSeria       = tbPassportSeria.Text;
                manager.PassportNumber      = tbPassportNumber.Text;
                manager.PersonalNumber      = tbPersonalNumber.Text;
                manager.ROVD                = tbROVD.Text;
                manager.Validity            = Convert.ToDateTime(tbValidity.Text);
                manager.RegistrationAddress = tbRegistrationAddress.Text;
                //если суперадмин - выставляем ему роль суперадмина и статус активировано
                if (oldRole == Users.Roles.SuperAdmin.ToString())
                {
                    divRole.Visible   = false;
                    divStatus.Visible = false;
                    manager.Role      = oldRole;
                }

                manager.Update(userInSession.ID, OtherMethods.GetIPAddress(), "ManagerEdit");

                var          body = "Ваш профиль на " + BackendHelper.TagToValue("current_app_address") + " был изменен. Ваша роль: " + manager.Role + ", ваш логин: " + manager.Login + ", ваш е-mail: " + manager.Email + ", ваше имя: " + manager.Name + ", ваша фамилия: " + manager.Family + ", ваш статус: " + ddlRole.SelectedValue;
                const string subj = "Изменение профиля работника";
                EmailMethods.MailSend(subj, body, manager.Email);
            }
            Page.Response.Redirect("~/ManagerUI/Menu/Souls/ManagersView.aspx");
        }
예제 #7
0
        public void bSubmit_Click(Object sender, EventArgs e)
        {
            var user = new Users {
                Login = tbUserLogin.Text
            };
            var userForLogin = new Users();

            user.GetByLogin();
            if (user.ID != 0)
            {
                userForLogin.ID = user.ID;
                userForLogin.GetById();
            }
            if (String.Equals(tbUserLogin.Text, userForLogin.Login, StringComparison.CurrentCultureIgnoreCase) && (OtherMethods.HashPassword(tbUserPass.Text) == userForLogin.Password))
            {
                Login(userForLogin);
            }
            else
            {
                if (String.Equals(tbUserLogin.Text, userForLogin.Login, StringComparison.CurrentCultureIgnoreCase) && (OtherMethods.HashPassword(tbUserPass.Text) != userForLogin.Password))
                {
                    Msg.Text = "Вы ввели неверный пароль!";
                }
                else
                {
                    Msg.Text = "Пользователь с таким логином не найден!";
                }
            }
        }