コード例 #1
0
ファイル: HomeController.cs プロジェクト: joelkarr/ENGworks
 public static ExtendedProperty CreateProperty(string defName, string value, BXC_MasterControlEntities entity, int userId)
 {
     var prop = new ExtendedProperty {User_Id = userId};
     var name = (from n in entity.PropertyNames where n.Name == defName select n).FirstOrDefault();
     if (name != null)
     {
         prop.PropertyNames_Id = name.Id;
     }
     else
     {
         var n = new PropertyName {Name = defName};
         entity.AddObject("PropertyNames", n);
         entity.SaveChanges();
         prop.PropertyNames_Id = n.Id;
     }
     var propValue = (from v in entity.PropertyValues where v.Value == value select v).FirstOrDefault();
     if (propValue != null)
     {
         prop.PropertyValues_Id = propValue.Id;
     }
     else
     {
         var v = new PropertyValue {Value = value};
         entity.AddObject("Propertyvalues", v);
         entity.SaveChanges();
         prop.PropertyValues_Id = v.Id;
     }
     return prop;
 }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: joelkarr/ENGworks
 private bool RegisterUser(User user)
 {
     using (var model =
         new BXC_MasterControlEntities(new Uri("http://odata.bxc.mepcontent.com/userservice.svc")))
     {
         var alreadyused =
             (from u in model.Users where u.UserName == user.Email select u).FirstOrDefault();
         if (alreadyused == null)
         {
             var newUser = new UserService.User {UserName = user.Email, Password = user.Password};
             model.AddObject("Users", newUser);
             model.SaveChanges();
             //TODO: encrypt password
             model.AddObject("ExtendedProperties", CreateProperty("FirstName", user.FirstName, model, newUser.Id));
             model.AddObject("ExtendedProperties", CreateProperty("LastName", user.LastName, model, newUser.Id));
             model.AddObject("ExtendedProperties", CreateProperty("PhoneNumber", user.PhoneNumber, model, newUser.Id));
             model.AddObject("ExtendedProperties", CreateProperty("Company", user.Company, model, newUser.Id));
             if(!String.IsNullOrWhiteSpace(Alias))
             {
                 model.AddObject("ExtendedProperties", CreateProperty("Alias", Alias, model, newUser.Id));
             }
             model.SaveChanges();
         }
         else
         {
             return false;
         }
         return true;
     }
 }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: joelkarr/ENGworks
 private bool CheckLogin(string email, string password)
 {
     using(var model =
         new BXC_MasterControlEntities(new Uri("http://odata.bxc.mepcontent.com/userservice.svc")))
     {
         var user = (from u in model.Users where u.UserName == email && u.Password == password select u).FirstOrDefault();
         if (user == null) return false;
         var alias = user.ExtendedProperties.FirstOrDefault(p => p.PropertyName.Name == "Alias");
         if(alias == null && !String.IsNullOrWhiteSpace(Alias))
         {
             user.ExtendedProperties.Add(CreateProperty("Alias", Alias, model, user.Id));
             model.SaveChanges();
         }
         return true;
     }
 }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: joelkarr/ENGworks
 private bool CheckIfUserNameAliasExits(string alias)
 {
     using (var model =
          new BXC_MasterControlEntities(new Uri("http://odata.bxc.mepcontent.com/userservice.svc")))
     {
         var property = (from p in model.ExtendedProperties
                     where p.PropertyName.Name == "Alias" && p.PropertyValue.Value==alias
                     select p).FirstOrDefault();
         return property != null;
     }
 }
コード例 #5
0
ファイル: TypeCatalog.aspx.cs プロジェクト: joelkarr/ENGworks
        public static string CreateDownloadPackage(object ids)
        {
            var itemIds = (Dictionary<string, object>) ids;
            var guid = Guid.NewGuid().ToString();
            var id = Int32.Parse(itemIds["0"].ToString());
            try
            {
                var zipFilePath = String.Format("{0}\\{1}\\",
                                                   ConfigurationManager.AppSettings["DownloadDirectory"],
                                                   guid);
                var zipFileName = String.Format("{0}{1}",
                                                   zipFilePath,
                                                   "package.zip");
                using (var container = new BXC_ContentModelEntities())
                {
                    var family = (from c in container.Items
                                  where c.Id == id
                                  select new
                                             {
                                                 FileName = c.AutodeskFile.Name,
                                                 c.AutodeskFile.TypeCatalogHeader,
                                                 TypeCatalogLine = c.TypeCatalogEntry,
                                                 Owner = c.AutodeskFile.MC_OwnerId
                                             }).FirstOrDefault();

                    if (family != null)
                    {
                        var filePath = String.Format("{0}\\{1}.rfa",
                                                     ConfigurationManager.AppSettings["ContentDirectory"],
                                                     family.FileName);
                        AddtoZip(filePath, family.FileName, zipFileName, zipFilePath);
                    }
                    if (family != null && !String.IsNullOrWhiteSpace(family.TypeCatalogHeader))
                    {
                        var typeCatalogPath = String.Format("{0}\\{1}\\{2}",
                                                               ConfigurationManager.AppSettings["DownloadDirectory"],
                                                               guid,
                                                               family.FileName + ".txt");

                        var sw = File.CreateText(typeCatalogPath);
                        {
                            sw.WriteLine(family.TypeCatalogHeader);
                            foreach (var i in itemIds.Select(id2 => Int32.Parse(id2.Value.ToString())).Select(iD => (from t in container.Items where t.Id == id select t.TypeCatalogEntry).
                                                                                                                        FirstOrDefault()))
                            {
                                sw.WriteLine(i);
                            }
                        }

                        sw.Close();
                        AddtoZip(typeCatalogPath, family.FileName + ".txt", zipFileName, zipFilePath);
                    }
                }
                try
                {
                    using (var container = new BXC_MasterControlEntities())
                    {
                        foreach (var id2 in itemIds)
                        {
                            var download = new Download {DateTime = DateTime.Now, Content_Id = id2.ToString()};
                            var libName = HttpContext.Current.Session["LibraryName"].ToString();
                            var lib =
                                (from l in container.Libraries where l.Name == libName select l).FirstOrDefault();
                            download.Library = lib;
                            var uname = HttpContext.Current.Session["UserName"].ToString();
                            download.User =
                                (from u in container.Users where u.UserName == uname select u).FirstOrDefault();
                            container.SaveChanges();
                        }
                    }
                }
                catch
                {
                }
                return guid;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
コード例 #6
0
ファイル: Default.aspx.cs プロジェクト: joelkarr/ENGworks
 // ReSharper restore InconsistentNaming
 // ReSharper disable InconsistentNaming
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (Request.QueryString["r"] != null)
         {
             Session["Revit"] = 1;
         }
         if (Session["User"] != null && Session["Pass"] != null)
         {
             var userName = Session["User"].ToString();
             var pass = Session["Pass"].ToString();
             windowLogin.VisibleOnPageLoad = !UserLogin(userName, pass, false);
         }
         else if (Request.QueryString["u"] != null)
         {
             //if username sent then from Revit App
             var windowsLogin = Request.QueryString["u"];
             Session["Alias"] = windowsLogin;
             windowLogin.VisibleOnPageLoad = !UserLogin(windowsLogin, string.Empty, true);
         }
         else
         {
             //user entered from web browser - show login panel
             windowLogin.VisibleOnPageLoad = true;
         }
     }
     if (Session["UpdateLibrary"] != null)
     {
         var userName = Session["User"].ToString();
         using (var masterControl = new BXC_MasterControlEntities())
         {
             var lib = (from l in masterControl.ExtendedProperties
                           where l.User.UserName == userName & l.PropertyName.Name == "CurrentLibrary"
                           select l.PropertyValue.Value).FirstOrDefault();
             if (lib != null)
             {
                 LibraryName = lib;
                 LoadData(true, true);
                 Session["UpdateLibrary"] = null;
             }
         }
     }
 }
コード例 #7
0
ファイル: Default.aspx.cs プロジェクト: joelkarr/ENGworks
        public bool UserLogin(string userName, string password, bool aliasLogin)
        {
            Session["Filters"] = null;
            using (var masterControl = new BXC_MasterControlEntities())
            {
                if (aliasLogin)
                {
                    var aliasUser = (from u in masterControl.Users
                                      where
                                          u.ExtendedProperties.Any(
                                              p => p.PropertyName.Name == "Alias" && p.PropertyValue.Value == userName)
                                      select u).FirstOrDefault();
                    if (aliasUser != null)
                    {
                        Session["User"] = aliasUser.UserName;
                        Session["Pass"] = aliasUser.Password;
                        //user Exists - load current library
                        var lib = (from l in masterControl.ExtendedProperties
                                      where
                                          l.User.UserName == aliasUser.UserName &
                                          l.PropertyName.Name == "CurrentLibrary"
                                      select l.PropertyValue.Value).FirstOrDefault();
                        if (lib != null)
                        {
                            LibraryName = lib;
                            LoadData(true, true);

                            //FUTURE TODO: Load recent downloads and favorites
                        }
                        return true;
                    }
                }
                else
                {
                    var user =
                        (from u in masterControl.Users where u.UserName == userName select u.UserName).FirstOrDefault();
                    if (!String.IsNullOrWhiteSpace(user))
                    {
                        Session["User"] = user;
                        Session["Pass"] = password;
                        var pass =
                            (from u in masterControl.Users where u.UserName == userName select u.Password).
                                FirstOrDefault();
                        if (password == pass)
                        {
                            //user Exists - load current library
                            var lib = (from l in masterControl.ExtendedProperties
                                          where l.User.UserName == user & l.PropertyName.Name == "CurrentLibrary"
                                          select l.PropertyValue.Value).FirstOrDefault();
                            if (lib != null)
                            {
                                LibraryName = lib;
                                LoadData(true, true);

                                //FUTURE TODO: Load recent downloads and favorites
                            }
                            return true;
                        }
                    }
                }
            }
            return false;
        }