Beispiel #1
0
 protected void LoginButton_Click(object sender, EventArgs e)
 {
     using (Aspect.Model.Authentication.Provider provider = new Aspect.Model.Authentication.Provider())
     {
         Aspect.Domain.User user = provider.SelectFromListAuthentication(new Guid(UsersDropDown.SelectedValue), UserPasswordTextBox.Text);
         if (user != null)
         {
             HttpCookie cookie = new HttpCookie("LastLogin", /*user.Name*/user.ID.ToString());
             cookie.Expires = DateTime.Now.AddYears(3);
             this.Response.Cookies.Add(cookie);
             this.Authenticate(user.ID);
         }
         else
         {
             ValidatorAuthenticationFaild.IsValid = false;
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// Устанавливает свойство "Основавная версия"
        /// </summary>        
        public bool SetMainVersion(Guid UserID, List<Guid> ProductIDs)
        {
            // Получаем права пользователя
            List<Guid> roles = new List<Guid>();
            using (Aspect.Model.Authentication.Provider provider = new Aspect.Model.Authentication.Provider())
            {
                roles = provider.GetUserRoles(UserID);
            }

            // Проверка -- Разрешено ли пользователю менять основную версию
            List<Property> props = this.GetAvailablePropertiesToModify(roles);
            if (!props.Any(p => p.ID == new Guid("BBE170B0-28E4-4738-B365-1038B03F4552")))
            {
                // текущему пользователю нельзя менять значение поля "Основная версия"
                return false;
            }

            // Устанавливаем поле "Основная версия" в "1"
            List<ProductProperty> propsMainVersion = (from p in ProductProperties
                                                      where p.PropertyID == new Guid("BBE170B0-28E4-4738-B365-1038B03F4552")
                                                      && ProductIDs.Contains(p.ProductID)
                                                      && p.Value == "0"
                                                      select p).ToList();
            propsMainVersion.ForEach(p => p.Value = "1");
            SubmitChanges();

            // Переносим вес из продуктов в _dictNomen, если там он отсутствует (0 или null)
            foreach (Guid ProductID in ProductIDs)
            {
                try
                {
                    // Пытаемся получить свойство с весом если оно есть
                     decimal? pw = ( from p in Products
                                 join pp in ProductProperties on p.ID equals pp.ProductID
                                 where p.ID == ProductID && pp.PropertyID == new Guid("AC37F816-E4C1-4751-99ED-6180D7CCA142")
                                 select Convert.ToDecimal(pp.Value) ).Single();
                    // Если свойство есть переносим его
                    if (pw.HasValue && pw.Value != 0)
                    {
                        _dictNomen dict = ( from p in Products
                                            join d in _dictNomens on p._dictNomenID equals d.ID
                                            where p.ID == ProductID
                                            select d).Single();
                        if (!dict.pw.HasValue || (dict.pw.HasValue && dict.pw.Value == 0))
                        {
                            dict.pw = pw.Value;
                            SubmitChanges();
                        }
                    }
                }
                catch
                {
                   // перехватываем исключение, так как веса у продукта может вовсе и не быть
                }
            }

            return true;
        }