Inheritance: System.Web.UI.Page
示例#1
0
        static void Main(string[] args)
        {
            List <documents> f  = new List <documents>();
            List <folder>    f1 = new List <folder>();

            Console.WriteLine("Hello World!");
            //for (int i = 0; i < 2; i++)
            //{
            //    documents n= new documents();

            //    n.id = Convert.ToInt32(Console.ReadLine());
            //    n.name = Console.ReadLine();
            //    f.Add(n);
            //}
            for (int i = 0; i < 2; i++)
            {
                folder n1 = new folder();

                n1.id   = Convert.ToInt32(Console.ReadLine());
                n1.name = Console.ReadLine();
                f1.Add(n1);
            }

            var n2 = f1.Distinct(new BoxEqualityComparer());

            foreach (var r in n2)
            {
                Console.WriteLine(r.id);
            }
            Console.ReadLine();
        }
        // GET: folders/Details/5
        public ActionResult Details(long?id)
        {
            if (Session["id"] == null)
            {
                return(RedirectToAction("Login", "Users"));
            }

            List <tiers>       l = db.tiers.Where(m => m.id_folder == id).ToList();
            tiersconjointModel t = new tiersconjointModel();

            t.tiers    = new tiers();
            t.conjoint = new tiers();


            if (l.Count != 0)
            {
                ViewData["tier"] = l[0];
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            folder folder = db.folder.Find(id);

            if (folder == null)
            {
                return(HttpNotFound());
            }
            return(View(folder));
        }
        public ActionResult DeleteConfirmed(long id)
        {
            folder folder = db.folder.Find(id);

            db.folder.Remove(folder);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id,contributor,folder_code,created_at,created_by,state")] folder folder)
 {
     if (ModelState.IsValid)
     {
         db.Entry(folder).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(folder));
 }
示例#5
0
        public static string BuildMessage(folder[] folders)
        {
            //Create new message
            var kmehrMsg = Builder.message(Builder.header(ServiceLocator.Current.GetInstance<IGlobalData>().HOSPITALhcparty, ServiceLocator.Current.GetInstance<IGlobalData>().GZOhcparty, null, null, null), null);

            // add folders to message
            foreach (var folder in folders)
                Builder.add(kmehrMsg, folder);

            return Serializer.toXML(kmehrMsg);
        }
示例#6
0
    public static IEnumerable <folder> BuildTree(folder current, folder[] allItems)
    {
        var childs = allItems.Where(c => c.parent == current.id).ToArray();

        foreach (var child in childs)
        {
            child.items = BuildTree(child, allItems);
        }
        current.items = childs;
        return(childs);
    }
示例#7
0
 public folder find_folder(long folder_id)
 {
     foreach (synch_folder sf in this.synch_folders)
     {
         folder res = sf.get_folder(folder_id);
         if (res != null)
         {
             return(res);
         }
     }
     return(null);
 }
        private folder AddFolder(SPFolder spFolder, bool isList, int itemCount)
        {
            Helper helper = Helper.Instance;

            folder folder = new folder();

            folder.folderName        = isList ? spFolder.ParentWeb.Lists[spFolder.ParentListId].Title : spFolder.Name;
            folder.folderName        = folder.folderName.Replace("\v", " ");
            folder.serverRelativeUrl = spFolder.ServerRelativeUrl;
            folder.isSharePointList  = isList;
            folder.itemCount         = itemCount;

            return(folder);
        }
        // GET: folders/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            folder folder = db.folder.Find(id);

            if (folder == null)
            {
                return(HttpNotFound());
            }
            return(View(folder));
        }
示例#10
0
        public ActionResult Create([Bind(Include = "id,contributor,version,folder_code,created_at,created_by,state")] folder folder)
        {
            if (ModelState.IsValid)
            {
                DateTime localDate = DateTime.Now;
                folder.created_at  = localDate;
                folder.state       = "En cours";
                folder.folder_code = "CI" + folder.folder_code;
                folder.created_by  = Session["prenom"].ToString();
                db.folder.Add(folder);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(folder));
        }
示例#11
0
 // Gets the root folder
 private void getRootFolder()
 {
     try
     {
         folder rootFolder    = repositoryService.getRootFolder(token);
         int    selectedImage = imageList.selectImageIndex(rootFolder);
         rootNode      = new TreeNode(Util.getFolderName(rootFolder), selectedImage, selectedImage);
         rootNode.Tag  = rootFolder;
         rootNode.Name = rootNode.Text;
         tree.Nodes.Add(rootNode);
         actualNode = rootNode;
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#12
0
        static void Main(string[] args)
        {
            const string tTargetName       = "Tenant 2 Test";
            string       tTargetIdentifier = Util.MakeIdentifierRootIdentifier(typeof(tenant).Name, Util.TrimWhitespace(tTargetName));

            const string mTargetName       = "Model 2 Test";
            string       mTargetIdentifier = Util.MakeIdentifierFromParentIdentifier(
                Util.MakeIdentifierRootIdentifier(typeof(tenant).Name, tTargetName),
                typeof(model).Name, Util.TrimWhitespace(mTargetName));

            tenant tTarget = null;
            model  mTarget = null;

            using (var ctxTarget = new ModelMateEFModel9Context())
            {
                ctxTarget.Database.Log = Console.Write;

                tTarget = ModelFinder.FindTenant(ctxTarget, tTargetIdentifier, "");
                ModelDump.DisplayDBPropertyValues("tTarget", ctxTarget.Entry(tTarget).CurrentValues, null);

                folders fs0 = tTarget.folders.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("fs0", ctxTarget.Entry(fs0).CurrentValues, null);
                folder f0 = fs0.folder.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("f0", ctxTarget.Entry(f0).CurrentValues, null);

                mTarget = ModelFinder.FindModel(ctxTarget, tTarget, mTargetIdentifier, null);
                ModelDump.DisplayDBPropertyValues("mTarget", ctxTarget.Entry(mTarget).CurrentValues, null);

                string  modelSchemaFile = @"..\..\..\PSN.ModelMate.Schema\Schema\ModelMateModel9.xsd";
                DataSet dsModel         = new DataSet();
                dsModel.ReadXmlSchema(modelSchemaFile);
                //DataSet ds3 = dsModel.Copy();
                //var mmpModel = new ModelMateProcessor();
                var mmpModel = new ModelProcessor(ModelProcessor.ConvertModel2AMEFFDataSet);
                mmpModel.ProcessModel(dsModel, (DbContext)ctxTarget, new Collection <model> {
                    mTarget
                });
                //dsModel.WriteXml("modelds.xml", XmlWriteMode.IgnoreSchema);
                string filename = "model4archi.xml";
                mmpModel.SaveAMEFFDataSetAsXML(dsModel, filename);

                Console.WriteLine("Press Enter to exit...");
                Console.ReadLine();
            }
        }
示例#13
0
    public static void main()
    {
        collection col = new collection();

        col.entries.Add(new item());
        col.entries.Add(new item());
        var folder1 = new folder()
        {
            name = "someFolder"
        };

        folder1.entries.Add(new item());
        var folder2 = new folder()
        {
            name = "anotherFolder"
        };

        folder1.entries.Add(folder2);
        folder1.entries.Add(new item());
        folder2.entries.Add(new item());
        col.entries.Add(folder1);
        col.entries.Add(new folder());
        col.entries.Add(new item());
        XmlSerializer sers = new XmlSerializer(typeof(collection));

        //serialise
        using (StreamWriter sw = new StreamWriter("testoutput.xml", false, Encoding.UTF8)) {
            XmlWriter xw = new XmlTextWriter(sw);
            sers.Serialize(xw, col);
        }
        //deserialise
        FileStream fs     = new FileStream("testoutput.xml", FileMode.Open);
        XmlReader  reader = XmlReader.Create(fs);
        collection newcol = (collection)sers.Deserialize(reader);

        //output to console
        sers.Serialize(Console.Out, newcol);
    }
示例#14
0
        private folder AddFolder(SPFolder spFolder, SPRoleAssignmentCollection roleAssignments, bool isList)
        {
            folder folder = new folder();

            folder.folderName        = isList ? spFolder.ParentWeb.Lists[spFolder.ParentListId].Title : spFolder.Name;
            folder.folderName        = folder.folderName.Replace("\v", " ");
            folder.serverRelativeUrl = spFolder.ServerRelativeUrl;

            folder.isSharePointList = isList;

            foreach (SPRoleAssignment roleAssignment in roleAssignments)
            {
                SPPrincipal principal      = roleAssignment.Member;
                string      principalLogin = (principal is SPUser) ? principal.ParentWeb.AllUsers.GetByID(principal.ID).LoginName : principal.ID.ToString();
                bool        isGroup        = !(principal is SPUser);

                folder.AddPrincipal(principalLogin,
                                    principal.Name,
                                    isGroup,
                                    roleAssignment.RoleDefinitionBindings);
            }

            return(folder);
        }
 get => folder != string.Empty && File.Exists(Path.Combine(folder, file));
示例#16
0
        static void Main(string[] args)
        {
            string modelName = "Model 2 Test";

            ModelFactory.ModelName = modelName;

            //model modelArchisurance = ObjectFactory.NewModel("Archisurance");
            //DataSet dsArchisurance = new DataSet();
            //string xmlArchiSurance = @"..\..\..\PSN.ModelMate.Schema\Samples\Archisurance\Archisurance-psn.xml";
            //dsArchisurance.ReadXml(xmlArchiSurance);
            ////dsArchisurance.WriteXmlSchema("xmlArchiSurance.xsd");
            ////dsArchisurance.WriteXml("xmlArchiSurance.xml");
            //var mmpArchisurance = new ModelMateProcessor(ModelMateProcessor.ConvertAMEFFDataSet2Model);
            //// TODO TODO mmpArchisurance.ProcessModel(dsArchisurance, (DbContext)null, new Collection<model> { modelArchisurance });

            string tenantName = "Tenant 0 " + DateTime.Now.ToString();

            ModelFactory.TenantName = tenantName;

            var tenant0 = ModelFactory.NewTenantWithRootFolder(tenantName);

            tenantName = "Tenant 1 " + DateTime.Now.ToString();
            ModelFactory.TenantName = tenantName;

            var tenant1 = ModelFactory.NewTenant(tenantName,
                                                 ModelFactory.NewFolder("/",
                                                                        new folder[] { ModelFactory.NewFolder("Model Templates"), ModelFactory.NewFolder("Production Models") }
                                                                        )
                                                 );

            ModelConst.PropertyDataType dtStringType = ModelConst.PropertyDataType.stringType;
            propertydef  pdefString = ModelFactory.NewPropertyDef("String Propertydef " + DateTime.Now.ToString(), dtStringType);
            propertydefs pdefs      = ModelFactory.NewPropertyDefs(pdefString);

            ModelConst.ElementType etAC = ModelConst.ElementType.ApplicationComponent;
            element[] elementArray      = new element[10];
            for (int iElement = 0; iElement < 10; iElement++)
            {
                property p = ModelFactory.NewProperty(ModelFactory.NewValue("Element Property Value " + DateTime.Now.ToString()),
                                                      pdefString);
                elementArray[iElement] = ModelFactory.NewElement("Element " + iElement.ToString() + " " + DateTime.Now.ToString(), etAC, p);
            }
            elements elements = ModelFactory.NewElements(elementArray);

            tenantName = "Tenant 2 Test";
            ModelFactory.TenantName = tenantName;

            model model2;
            //var tenant2 = ModelFactory.NewTenant(tenantName,
            //                ModelFactory.NewFolder("/",
            //                    ModelFactory.NewFolder("Production Models",
            //                        ModelFactory.NewFolder("HQ Models Folder " + DateTime.Now.ToString(),
            //                            model2 = ModelFactory.NewModel(modelName, ModelConst.LANG_EN,
            //                                                            elements, pdefs
            //                            )
            //                        )
            //                    )
            //                )
            //              );

            var tenant2 = ModelFactory.NewTenant(tenantName,
                                                 ModelFactory.NewFolder("/",
                                                                        model2 = ModelFactory.NewModel(modelName, ModelConst.LANG_EN,
                                                                                                       elements, pdefs
                                                                                                       )
                                                                        )
                                                 );

            Console.WriteLine("Tenant.tenant_Id " + tenant2.tenant_Id.ToString());
            foreach (folders fs in tenant2.folders)
            {
                Console.WriteLine("Folders.tenant_Id " + fs.tenant_Id.ToString());
                Console.WriteLine("Folders.folders_Id " + fs.folders_Id.ToString());

                foreach (folder f in fs.folder)
                {
                    Console.WriteLine("Folder " + f.folders_Id.ToString());
                    Console.WriteLine("Folder " + f.folder_Id.ToString());
                }
            }

            var name = ModelFactory.NewName("Model 2 Name " + DateTime.Now.ToString());

            model2.name.Add(name);
            var documentation = ModelFactory.NewDocumentation("Model 2 Documentation " + DateTime.Now.ToString());

            model2.documentation.Add(documentation);
            var metadata = ModelFactory.NewMetadata(
                ModelFactory.NewProperty(ModelFactory.NewValue("Model 2 Metadata Value " + DateTime.Now.ToString()), pdefString)
                );

            model2.metadata.Add(metadata);

            var properties = ModelFactory.NewProperties(
                ModelFactory.NewProperty(ModelFactory.NewValue("Model 2 Property Value " + DateTime.Now.ToString()), pdefString)
                );

            model2.properties.Add(properties);

            var relationship1 = ModelFactory.NewRelationship("Association Relationship " + DateTime.Now.ToString(),
                                                             ModelConst.RelationshipType.AssociationRelationship,
                                                             elementArray[0], elementArray[1]
                                                             );
            var relationships = ModelFactory.NewRelationships(relationship1);

            model2.relationships.Add(relationships);

            var organization = ModelFactory.NewOrganization(
                ModelFactory.NewItem(elementArray[0],
                                     ModelFactory.NewItem(null,
                                                          ModelFactory.NewItem(elementArray[1]
                                                                               )
                                                          )
                                     )
                );

            model2.organization.Add(organization);

            var style1 = ModelFactory.NewStyle(
                ModelFactory.NewFillColor(255, 0, 0),
                ModelFactory.NewLineColor(0, 255, 0),
                ModelFactory.NewFont("Times Roman", (float)10.5, "bold", ModelFactory.NewColor(0, 0, 255)), 3
                );
            var style2 = ModelFactory.NewStyle(
                ModelFactory.NewFillColor(255, 0, 0),
                ModelFactory.NewLineColor(0, 255, 0),
                ModelFactory.NewFont("Times Roman", (float)12.5, "bold", ModelFactory.NewColor(0, 0, 255)), 3
                );

            var node0 = ModelFactory.NewNode("Node 0 " + DateTime.Now.ToString(),
                                             0, 0, 0, 50, 50, 50,
                                             elementArray[0], null, null, style1,
                                             new node[] { ModelFactory.NewNode("Sub Node " + DateTime.Now.ToString(),
                                                                               10, 10, 10, 25, 25, 25,
                                                                               elementArray[3]) }
                                             );
            var node1 = ModelFactory.NewNode("Node 1 " + DateTime.Now.ToString(),
                                             100, 100, 100, 50, 50, 50,
                                             elementArray[1], null, null, style2,
                                             null
                                             );

            var bendpoint1  = ModelFactory.NewBendPoint(25, 25, 25);
            var connection1 = ModelFactory.NewConnection("Connection 1 " + DateTime.Now.ToString(),
                                                         node0, node1, relationship1
                                                         );

            connection1.bendpoint.Add(bendpoint1);

            view view2;
            var  views = ModelFactory.NewViews(
                view2 = ModelFactory.NewView("View 2 " + DateTime.Now.ToString(), ModelConst.ViewType.Layered,
                                             new node[] {
                node0, node1
            },
                                             new connection[] { connection1 }
                                             )
                );

            model2.views.Add(views);

            tenant2.processinghistory.Add(
                ModelFactory.NewProcessinghistory(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            tenant2.usage.Add(
                ModelFactory.NewUsage(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            tenant2.performance.Add(
                ModelFactory.NewPerformance(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            tenant2.management.Add(
                ModelFactory.NewManagement(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );

            model2.processinghistory.Add(
                ModelFactory.NewProcessinghistory(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            model2.usage.Add(
                ModelFactory.NewUsage(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            model2.performance.Add(
                ModelFactory.NewPerformance(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            model2.management.Add(
                ModelFactory.NewManagement(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );

            elementArray[0].processinghistory.Add(
                ModelFactory.NewProcessinghistory(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            elementArray[0].usage.Add(
                ModelFactory.NewUsage(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            elementArray[0].performance.Add(
                ModelFactory.NewPerformance(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            elementArray[0].management.Add(
                ModelFactory.NewManagement(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );

            view2.processinghistory.Add(
                ModelFactory.NewProcessinghistory(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            view2.usage.Add(
                ModelFactory.NewUsage(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            view2.performance.Add(
                ModelFactory.NewPerformance(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );
            view2.management.Add(
                ModelFactory.NewManagement(
                    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
                                             ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
                                             null, null,
                                             ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
                                                                      )
                                             )
                    )
                );

            //using (XmlWriter writer = XmlWriter.Create("model2.xml"))
            //{
            //    //XmlSerializer serializer = new XmlSerializer(typeof(model));
            //    DataContractSerializerSettings settings = new DataContractSerializerSettings();
            //    DataContractSerializer serializer = new DataContractSerializer(typeof(model));
            //    serializer.WriteObject(writer, model2);
            //    writer.Close();
            //}

            string xmlSchemaFile = @"..\..\..\PSN.ModelMate.Schema\Schema\Reference ModelGood9.xsd";

            // DataSet ds = new DataSet();
            // ds.ReadXmlSchema(xmlSchemaFile);
            // BUG DataSet ds2 = new DataSet();
            // BUG ds2.ReadXmlSchema(xmlSchemaFile);

            //DataTable dttenant = ds.Tables["tenant"];
            //DataRow drtentant1 = dttenant.NewRow();
            //DataRow drtentant2 = ds.Tables["tenant"].NewRow();

            //DataTable dtfolders = ds.Tables["folders"];
            //DataTable dtfolder = ds.Tables["folder"];
            //DataTable dtmodels = ds.Tables["models"];
            //DataTable dtmodel = ds.Tables["model"];

            //DataTable dtprocessinghistory = ds.Tables["processinghistory"];
            //DataTable dtusage = ds.Tables["usage"];
            //DataTable dtperformance = ds.Tables["performance"];
            //DataTable dtmanagement = ds.Tables["management"];
            //DataTable dttimesnap = ds.Tables["timesnap"];

            //DataTable dtproperties = ds.Tables["properties"];
            //DataTable dtproperty = ds.Tables["property"];

            //DataTable dtpropertydefs = ds.Tables["propertydefs"];
            //DataTable dtpropertydef = ds.Tables["propertydef"];

            //DataTable dtelements = ds.Tables["elements"];
            //DataTable dtelement = ds.Tables["element"];

            //DataTable dtrelationships = ds.Tables["relationships"];
            //DataTable dtrelationship = ds.Tables["relationship"];

            //DataTable dtviews = ds.Tables["views"];
            //DataTable dtview = ds.Tables["view"];
            //DataTable dtconnection = ds.Tables["connection"];
            //DataTable dtnode = ds.Tables["node"];

            //DataTable dtstyle = ds.Tables["style"];
            //DataTable dtfont = ds.Tables["font"];
            //DataTable dtfillColor = ds.Tables["fillColor"];
            //DataTable dtlineColor = ds.Tables["lineColor"];
            //DataTable dtcolor = ds.Tables["color"];
            //DataTable dtbendpoint = ds.Tables["bendpoint"];

            //DataTable dtmetadata = ds.Tables["metadata"];

            //DataTable dtorganization = ds.Tables["organization"];
            //DataTable dtitem = ds.Tables["item"];

            //DataTable dtname = ds.Tables["name"];
            //DataTable dtvalue = ds.Tables["value"];
            //DataTable dtdocumentation = ds.Tables["documentation"];
            //DataTable dtlabel = ds.Tables["label"];

            using (var ctx = new ModelMateEFModel9Context())
            {
                ctx.Database.Log = Console.Write;

                ctx.tenant.Add(tenant0);
                ModelDump.DisplayTrackedEntities("Add tenant0", ctx.ChangeTracker);
                ctx.SaveChanges();
                ModelDump.DisplayTrackedEntities("Save tenant0", ctx.ChangeTracker);

                ctx.tenant.Add(tenant1);
                ctx.SaveChanges();

                ctx.tenant.Add(tenant2);
                ModelDump.DisplayTrackedEntities("Add tenant2", ctx.ChangeTracker);
                ctx.SaveChanges();
                ModelDump.DisplayTrackedEntities("Save tenant2", ctx.ChangeTracker);
                ModelDump.DisplayDBPropertyValues("tenant2", ctx.Entry(tenant2).CurrentValues, null);
                ModelDump.DisplayDBPropertyValues("model2", ctx.Entry(model2).CurrentValues, null);
                Console.WriteLine("Tenant.tenant_Id " + tenant2.tenant_Id.ToString());
                foreach (folders fs in tenant2.folders)
                {
                    Console.WriteLine("Folders.tenant_Id " + fs.tenant_Id.ToString());
                    Console.WriteLine("Folders.folders_Id " + fs.folders_Id.ToString());

                    foreach (folder f in fs.folder)
                    {
                        Console.WriteLine("Folder " + f.folders_Id.ToString());
                        Console.WriteLine("Folder " + f.folder_Id.ToString());
                    }
                }

                folders fs0 = tenant2.folders.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("fs0", ctx.Entry(fs0).CurrentValues, null);

                folder f0 = fs0.folder.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("f0", ctx.Entry(f0).CurrentValues, null);

                Console.WriteLine("RECURSION ==================================================");
                //DataSet dsTenant = new DataSet();
                //dsTenant.ReadXmlSchema(xmlSchemaFile);
                ////dsTenant.Tables["tenant"].Namespace = "http://www.w3.org/XML/1998/namespace";
                ////dsTenant.Tables["tenant"].Prefix = "xml";
                //var tenant = ctx.tenant.Find(new object[] { tenant2.tenant_Id });
                //var mmp = new ModelMateProcessor(ModelMateProcessor.ProcessObjectPopulateXMLDataSet);
                //mmp.ProcessTenant(dsTenant, (DbContext)ctx, new Collection<tenant> { tenant });
                //dsTenant.WriteXml("tentantds.xml");

                string  modelSchemaFile = @"..\..\..\PSN.ModelMate.Schema\Schema\ModelMateModel9.xsd";
                DataSet dsModel         = new DataSet();
                dsModel.ReadXmlSchema(modelSchemaFile);
                //DataSet ds3 = dsModel.Copy();
                //var mmpModel = new ModelMateProcessor();
                var mmpModel = new ModelProcessor(ModelProcessor.ConvertModel2AMEFFDataSet);
                mmpModel.ProcessModel(dsModel, (DbContext)ctx, new Collection <model> {
                    model2
                });
                dsModel.WriteXml("modelds.xml", XmlWriteMode.IgnoreSchema);
                string filename = "modelds2.xml";
                mmpModel.SaveAMEFFDataSetAsXML(dsModel, filename);

                tenant2.version = ModelConst.TENANT_TESTVERSION;
                var name2 = ModelFactory.NewName("Model Name FR " + DateTime.Now.ToString(), ModelConst.LANG_FR);
                model2.name.Add(name2);
                var name3 = ModelFactory.NewName("Model Name EN " + DateTime.Now.ToString());
                model2.name.Add(name3);
                ModelDump.DisplayTrackedEntities("Change tenant2", ctx.ChangeTracker);
                ctx.SaveChanges();
                ModelDump.DisplayTrackedEntities("Save tenant2", ctx.ChangeTracker);

                object[] keys    = { -1702823521 };
                tenant   tenant9 = ctx.tenant.Find(keys);
                //ctx.tenant.Remove(tenantDelete);
                //ctx.SaveChanges();
            }

            Console.WriteLine("Press enter to exist...");
            Console.ReadLine();
        }
示例#17
0
 //public string getInboxMessage(string sessionKey, int MID)
 //{
 //    try
 //    {
 //        return client.GetInboxMIMEMessage(sessionKey, MID);
 //    }
 //    catch (Exception ex)
 //    {
 //        throw new Exception("", ex);
 //    }
 //}
 //public string getInboxMessageEncoded(string sessionKey, int MID)
 //{
 //    try
 //    {
 //        return client.GetInboxMIMEMessageEncoded(sessionKey, MID);
 //    }
 //    catch (Exception ex)
 //    {
 //        throw new Exception("", ex);
 //    }
 //}
 public List<folder> GetFolderList(string sessionKey)
 {
     try
     {
         string result = client.GetFolderList(sessionKey);
         List<folder> folders = new List<folder>();
         using (XmlReader reader = XmlReader.Create(new StringReader(result)))
         {
             folder folderInfo = new folder();
             while (!reader.EOF)
             {
                 reader.ReadToFollowing("FID");
                 reader.Read();
                 folderInfo = new folder();
                 if (reader.HasValue)
                 {
                     int FID = int.Parse(reader.Value);
                     folderInfo.FID = FID;
                 }
                 else
                 {
                     reader.Close();
                     break;
                 }
                 reader.ReadToFollowing("Name");
                 reader.Read();
                 folderInfo.Name = reader.Value;
                 reader.ReadToFollowing("Type");
                 reader.Read();
                 folderInfo.Type = int.Parse(reader.Value);
                 reader.ReadToFollowing("TypeDesc");
                 reader.Read();
                 folderInfo.TypeDesc = reader.Value;
                 reader.ReadToFollowing("TotalMessages");
                 reader.Read();
                 folderInfo.TotalMessages = int.Parse(reader.Value);
                 reader.Read();
                 folders.Add(folderInfo);
             }
             return folders;
         }
     }
     catch (Exception ex)
     {
         throw new Exception("", ex);
     }
 }
示例#18
0
        Result iTool.Execute(Job job)
        {
            Result result = new Result(job.Id);

            config   permConfig = new config();
            security security   = new security();

            permConfig.ReadConfig(job.DownloadAttachment());

            List <site> sites = new List <site>();

            foreach (permissionsite permSite in permConfig.permissionSites)
            {
                Console.WriteLine(permSite.source);
                using (SPWeb web = new SPSite(permSite.source).OpenWeb())
                {
                    site             site      = new site(permSite.source, permSite.target);
                    List <folder>    folders   = new List <folder>();
                    SPListCollection siteLists = web.Lists;

                    foreach (SPList list in siteLists)
                    {
                        try
                        {
                            if (!permConfig.ignoreList.Contains(list.RootFolder.Name.ToLower()))
                            {
                                if (list.HasUniqueRoleAssignments)
                                {
                                    folder folder = AddFolder(list);

                                    Helper helper = Helper.Instance;

                                    string updatedUrl = helper.MapServerRelativeUrl(folder.serverRelativeUrl,
                                                                                    permSite.source,
                                                                                    permSite.target);
                                    folder.serverRelativeUrl = updatedUrl;

                                    site.folders.Add(folder);
                                }

                                SPQuery query = new SPQuery();
                                query.Query          = @"
                                <Where>
                                    <BeginsWith>
                                        <FieldRef Name='ContentTypeId' />
                                        <Value Type='ContentTypeId'>0x0120</Value>
                                    </BeginsWith>
                                </Where>";
                                query.ViewAttributes = "Scope='RecursiveAll'";
                                SPListItemCollection items = list.GetItems(query);

                                foreach (SPListItem item in items)
                                {
                                    if (item.HasUniqueRoleAssignments)
                                    {
                                        folder folder = AddFolder(item.Folder, item.RoleAssignments, false);

                                        Helper helper = Helper.Instance;

                                        string updatedUrl = helper.MapServerRelativeUrl(folder.serverRelativeUrl,
                                                                                        permSite.source,
                                                                                        permSite.target);
                                        folder.serverRelativeUrl = updatedUrl;

                                        site.folders.Add(folder);
                                    }

                                    if (!permSite.ignoreFiles)
                                    {
                                        List <file> uniqueSPFiles = GetUniquePermissionFiles(list, item);

                                        foreach (file uniqueSPFile in uniqueSPFiles)
                                        {
                                            Helper helper = Helper.Instance;

                                            string updatedUrl = helper.MapServerRelativeUrl(uniqueSPFile.serverRelativeUrl,
                                                                                            permSite.source,
                                                                                            permSite.target);
                                            uniqueSPFile.serverRelativeUrl = updatedUrl;

                                            site.files.Add(uniqueSPFile);
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex) { Console.WriteLine(list.Title); Console.WriteLine(ex.Message); }
                    }

                    security.sites.Add(site);
                }
            }

            try
            {
                XmlSerializer serializer = new XmlSerializer(typeof(security));
                string        tmpFile    = Scheduler.Instance.CreateTmpFile();
                using (TextWriter stream = new StreamWriter(tmpFile))
                {
                    using (XmlWriter writer = XmlWriter.Create(stream, new XmlWriterSettings {
                        Indent = true
                    }))
                    {
                        writer.WriteStartDocument();
                        writer.WriteComment(@"You can control what to import on the target by setting the Import attribute on the <Sites> element e.g. Import=""All"" | Import=""Folders"" | Import=""Files""");
                        writer.WriteComment(@"You can disconnect permission inheritance (if wrongfully inheriting) by setting IgnoreInheritance=""false""");
                        serializer.Serialize(writer, security);
                        writer.WriteEndDocument();
                        writer.Flush();
                    }
                }

                result.AddFile(tmpFile);
            }
            catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.InnerException.Message); }

            return(result);
        }
示例#19
0
        static void Main(string[] args)
        {
            using (var ctx = new ModelMateEFModel9Context())
            {
                ctx.Database.Log = Console.Write;
                Console.WriteLine("LazyLoadingEnabled: " + ctx.Configuration.LazyLoadingEnabled.ToString());

                foreach (tenant t in ctx.tenant)
                {
                    ModelDump.DisplayDBPropertyValues("t", ctx.Entry(t).CurrentValues, null);
                }

                //var query = from t in ctx.tenant
                //            where t.identifier == tident1
                //            select t;
                //tenant tq = query.Single();

                //object[] keysq = { tid };
                //tenant tq = ctx.tenant.Find(keysq);

                //ctx.Entry(tq).Collection(fs => fs.folders).Load(); // Works
                //folders fsq = tq.folders.ElementAt(0);
                //ModelMateLib.DisplayDBPropertyValues("fsq", ctx.Entry(fsq).CurrentValues, null);

                //ctx.Entry(fsq).Collection(f => f.folder).Load(); // Works
                //folder fq = fsq.folder.ElementAt(0);
                //ModelMateLib.DisplayDBPropertyValues("fq", ctx.Entry(fq).CurrentValues, null);

                //ctx.tenant.Load();
                object[] keys    = { tid };
                tenant   tenant9 = ctx.tenant.Find(keys);
                folders  fs0     = tenant9.folders.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("fs0", ctx.Entry(fs0).CurrentValues, null);
                folder f0 = fs0.folder.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("f0", ctx.Entry(f0).CurrentValues, null);



                //folders fs0 = t0.folders.ElementAt(0);
                //ModelMateLib.DisplayDBPropertyValues("fs0", ctx.Entry(fs0).CurrentValues, null);
                //folder f0 = fs0.folder.ElementAt(0);
                //ModelMateLib.DisplayDBPropertyValues("f0", ctx.Entry(f0).CurrentValues, null);

                tenant[] ts2 = new tenant[] { };
                ts2 = ModelFinder.FindTenants(ctx, tident2, "");
                ModelDump.DisplayDBPropertyValues("ts2", ctx.Entry(ts2[0]).CurrentValues, null);

                ts2 = ModelFinder.FindTenants(ctx, "", tname2);
                ModelDump.DisplayDBPropertyValues("ts2", ctx.Entry(ts2[0]).CurrentValues, null);

                tenant t2 = null;
                try
                {
                    t2 = ModelFinder.FindTenant(ctx, "", tname1);
                    ModelDump.DisplayDBPropertyValues("t1", ctx.Entry(t2).CurrentValues, null);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("EXCEPTION: " + ex.ToString());
                }

                //tenant t2 = null;
                try
                {
                    t2 = ModelFinder.FindTenant(ctx, tident1, "");
                    ModelDump.DisplayDBPropertyValues("t1", ctx.Entry(t2).CurrentValues, null);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("EXCEPTION: " + ex.ToString());
                }

                model m2 = ModelFinder.FindModel(ctx, t2, mident0, null);
                ModelDump.DisplayDBPropertyValues("m2", ctx.Entry(m2).CurrentValues, null);

                element[] es0 = ModelFinder.FindElements(ctx, t2, m2, ModelConst.ElementType.ApplicationComponent);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctx.Entry(es0[0]).CurrentValues, null);

                es0 = ModelFinder.FindElements(ctx, t2, m2, ModelConst.ElementType.AllElementTypes);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctx.Entry(es0[0]).CurrentValues, null);

                relationship[] rs0 = ModelFinder.FindRelationships(ctx, t2, m2, ModelConst.RelationshipType.AllRelationshipTypes);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctx.Entry(es0[0]).CurrentValues, null);

                foreach (relationship r in rs0)
                {
                    element eSource = ModelFinder.FindElement(ctx, t2, m2, r.source, null);
                    element eTarget = ModelFinder.FindElement(ctx, t2, m2, r.target, null);
                    ModelDump.DisplayDBPropertyValues("eSource", ctx.Entry(eSource).CurrentValues, null);
                    ModelDump.DisplayDBPropertyValues("r", ctx.Entry(r).CurrentValues, null);
                    ModelDump.DisplayDBPropertyValues("eTarget", ctx.Entry(eTarget).CurrentValues, null);
                }

                Console.WriteLine("Press enter to exit...");
                Console.ReadLine();
            }
        }
示例#20
0
        protected List <synch_folder> load_folders(int?folder_id = null, int?synch_folder_id = null, int?search_id = null)
        {
            string[,] pars = new string[, ] {
                { "folder_id", folder_id.HasValue ? folder_id.Value.ToString() : "null" }
                , { "search", search_id.HasValue ? "true" : "false" }, { "search_id", search_id.HasValue ? search_id.Value.ToString() : "0" }
                , { "synch_folder_id", synch_folder_id.HasValue ? synch_folder_id.Value.ToString() : "null" }
            };

            // folders
            List <synch_folder> res = new List <synch_folder>();

            foreach (DataRow dr in db_conn.dt_table(core.parse_query("lib-notes.folders", pars)).Rows)
            {
                string tp = db_provider.str_val(dr["tp"]);
                int    lf = db_provider.int_val(dr["lvl"]);
                if (tp == "synch_folder")
                {
                    res.Add(new synch_folder(db_provider.int_val(dr["synch_folder_id"])
                                             , db_provider.str_val(dr["title"]), db_provider.str_val(dr["des"]), db_provider.str_val(dr["http_path"])));
                }
                else if (tp == "folder")
                {
                    folder f = new folder(db_provider.int_val(dr["synch_folder_id"]), db_provider.int_val(dr["folder_id"])
                                          , db_provider.int_val_null(dr["parent_id"]), db_provider.str_val(dr["title"]), db_provider.str_val(dr["folder_path"])
                                          , db_provider.int_val(dr["is_task"]) > 0);
                    if (lf == 1)
                    {
                        synch_folder p = res.FirstOrDefault(x => x.id == f.synch_folder_id);
                        if (p == null)
                        {
                            throw new Exception("il synch_folder con id " + f.synch_folder_id.ToString() + " non è stato trovato!");
                        }
                        p.add_folder(f);
                    }
                    else
                    {
                        folder p = null;
                        foreach (synch_folder s in res)
                        {
                            p = s.get_folder(f.parent_id.Value);
                            if (p != null)
                            {
                                break;
                            }
                        }
                        if (p == null)
                        {
                            throw new Exception("il folder con id " + f.parent_id.Value.ToString() + " non è stato trovato!");
                        }
                        p.add_folder(f);
                    }
                }
                else
                {
                    throw new Exception("tp row '" + tp + "' non supportato!");
                }
            }

            // files
            foreach (DataRow dr in db_conn.dt_table(core.parse_query("lib-notes.files", pars)).Rows)
            {
                int  sfi = db_provider.int_val(dr["synch_folder_id"]);
                long fi  = db_provider.long_val(dr["folder_id"]);
                file f   = new file(db_provider.int_val(dr["synch_folder_id"]), db_provider.long_val(dr["folder_id"])
                                    , db_provider.long_val(dr["file_id"]), db_provider.str_val(dr["file_name"])
                                    , db_provider.dt_val(dr["dt_ins"]).Value, db_provider.int_val(dr["found_file"]) > 0);
                if (fi > 0)
                {
                    res.First(x => x.id == sfi).get_folder(fi).add_file(f);
                }
                else
                {
                    res.First(x => x.id == sfi).add_file(f);
                }
            }

            return(res);
        }
示例#21
0
        static void Main(string[] args)
        {
            const string tTargetName       = "Tenant 2 Test";
            string       tTargetIdentifier = Util.MakeIdentifierRootIdentifier(typeof(tenant).Name, Util.TrimWhitespace(tTargetName));

            const string mTargetName       = "Model 2 Test";
            string       mTargetIdentifier = Util.MakeIdentifierFromParentIdentifier(
                Util.MakeIdentifierRootIdentifier(typeof(tenant).Name, tTargetName),
                typeof(model).Name, Util.TrimWhitespace(mTargetName));

            tenant tTarget = null;
            model  mTarget = null;

            using (var ctxTarget = new ModelMateEFModel9Context())
            {
                ctxTarget.Database.Log = Console.Write;
                Console.WriteLine("LazyLoadingEnabled: " + ctxTarget.Configuration.LazyLoadingEnabled.ToString());

                tTarget = ModelFinder.FindTenant(ctxTarget, tTargetIdentifier, "");
                ModelDump.DisplayDBPropertyValues("tTarget", ctxTarget.Entry(tTarget).CurrentValues, null);

                mTarget = ModelFinder.FindModel(ctxTarget, tTarget, mTargetIdentifier, null);
                ModelDump.DisplayDBPropertyValues("mTarget", ctxTarget.Entry(mTarget).CurrentValues, null);

                element[] es0 = ModelFinder.FindElements(ctxTarget, tTarget, mTarget, ModelConst.ElementType.ApplicationComponent);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctxTarget.Entry(es0[0]).CurrentValues, null);

                es0 = ModelFinder.FindElements(ctxTarget, tTarget, mTarget, ModelConst.ElementType.AllElementTypes);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctxTarget.Entry(es0[0]).CurrentValues, null);

                relationship[] rs0 = ModelFinder.FindRelationships(ctxTarget, tTarget, mTarget, ModelConst.RelationshipType.AllRelationshipTypes);
                Console.WriteLine("es0.Count: " + es0.Count <element>().ToString());
                ModelDump.DisplayDBPropertyValues("es0", ctxTarget.Entry(es0[0]).CurrentValues, null);

                foreach (relationship r in rs0)
                {
                    element eSource = ModelFinder.FindElement(ctxTarget, tTarget, mTarget, r.source, null);
                    element eTarget = ModelFinder.FindElement(ctxTarget, tTarget, mTarget, r.target, null);
                    ModelDump.DisplayDBPropertyValues("eSource", ctxTarget.Entry(eSource).CurrentValues, null);
                    ModelDump.DisplayDBPropertyValues("r", ctxTarget.Entry(r).CurrentValues, null);
                    ModelDump.DisplayDBPropertyValues("eTarget", ctxTarget.Entry(eTarget).CurrentValues, null);
                }
            }

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

            string tSourceName = "Tenant 2";

            ModelFactory.TenantName = tSourceName;

            string mSourceIdentifier = mTargetIdentifier;
            string mSourceName       = mTargetName; // "Model 2 " + DateTime.Now.ToString();

            ModelFactory.ModelName = mSourceName;

            tenant tSource = null;
            model  mSource = null;

            propertydef pdef1 = ModelFactory.NewPropertyDef("String Propertydef 1", ModelConst.PropertyDataType.stringType);
            propertydef pdef2 = ModelFactory.NewPropertyDef("Boolean Propertydef 2", ModelConst.PropertyDataType.booleanType);
            propertydef pdef3 = ModelFactory.NewPropertyDef("Number Propertydef 3", ModelConst.PropertyDataType.numberType);

            propertydef[] pdfArray = new propertydef[] { pdef1, pdef2, pdef3 };
            propertydefs  pdefs    = ModelFactory.NewPropertyDefs(pdfArray);

            ModelConst.ElementType etAC = ModelConst.ElementType.ApplicationComponent;
            element[] elementArray      = new element[10];
            for (int iElement = 0; iElement < 10; iElement++)
            {
                property p1 = ModelFactory.NewProperty(ModelFactory.NewValue("Element Property Value " + DateTime.Now.ToString()),
                                                       pdfArray[iElement % 3]);
                property p2 = ModelFactory.NewProperty(ModelFactory.NewValue("Element Property Value " + DateTime.Now.ToString()),
                                                       pdfArray[(iElement + 1) % 3]);
                properties ps = ModelFactory.NewProperties(new property[] { p1, p2 });
                elementArray[iElement] = ModelFactory.NewElement("Element " + iElement.ToString(), etAC, ps);
            }
            elements elements = ModelFactory.NewElements(elementArray);

            tSource = ModelFactory.NewTenant(tSourceName,
                                             ModelFactory.NewFolder("/",
                                                                    mSource = ModelFactory.NewModel(mSourceName, ModelConst.LANG_EN,
                                                                                                    elements, pdefs
                                                                                                    )
                                                                    )
                                             );

            mSource.version = "9.0";

            var properties = ModelFactory.NewProperties(ModelFactory.NewProperty(ModelFactory.NewValue("Model 2 Value 1"), pdef1));

            mSource.properties.Add(properties);

            //var name = ModelFactory.NewName("Model 2 Name " + DateTime.Now.ToString());
            //model3.name.Add(name);

            var relationship1 = ModelFactory.NewRelationship("Association Relationship 1",
                                                             ModelConst.RelationshipType.AssociationRelationship,
                                                             elementArray[0], elementArray[1]
                                                             );
            var relationship2 = ModelFactory.NewRelationship("Association Relationship 2",
                                                             ModelConst.RelationshipType.AssociationRelationship,
                                                             elementArray[2], elementArray[3]
                                                             );
            var relationships = ModelFactory.NewRelationships(new relationship[] { relationship1, relationship2 });

            mSource.relationships.Add(relationships);

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

            //var organization = ModelFactory.NewOrganization(
            //            ModelFactory.NewItem(elementArray[0],
            //                ModelFactory.NewItem(null,
            //                    ModelFactory.NewItem(elementArray[1]
            //                    )
            //                )
            //            )
            //       );
            //model3.organization.Add(organization);

            //var documentation = ModelFactory.NewDocumentation("Model 2 Documentation " + DateTime.Now.ToString());
            //model3.documentation.Add(documentation);

            //var metadata = ModelFactory.NewMetadata(
            //            ModelFactory.NewProperty(ModelFactory.NewValue("Model 2 Metadata Value " + DateTime.Now.ToString()), pdefString)
            //        );
            //model3.metadata.Add(metadata);

            //var style1 = ModelFactory.NewStyle(
            //                ModelFactory.NewFillColor(255, 0, 0),
            //                ModelFactory.NewLineColor(0, 255, 0),
            //                ModelFactory.NewFont("Times Roman", (float)10.5, "bold", ModelFactory.NewColor(0, 0, 255)), 3
            //            );
            //var style2 = ModelFactory.NewStyle(
            //    ModelFactory.NewFillColor(255, 0, 0),
            //    ModelFactory.NewLineColor(0, 255, 0),
            //    ModelFactory.NewFont("Times Roman", (float)12.5, "bold", ModelFactory.NewColor(0, 0, 255)), 3
            //);

            //var node0 = ModelFactory.NewNode("Node 0 " + DateTime.Now.ToString(),
            //                            0, 0, 0, 50, 50, 50,
            //                            elementArray[0], null, null, style1,
            //                            new node[] { ModelFactory.NewNode("Sub Node " + DateTime.Now.ToString(),
            //                                            10, 10, 10, 25, 25, 25,
            //                                            elementArray[3])
            //                            }
            //            );
            //var node1 = ModelFactory.NewNode("Node 1 " + DateTime.Now.ToString(),
            //                            100, 100, 100, 50, 50, 50,
            //                            elementArray[1], null, null, style2,
            //                            null
            //            );

            //var bendpoint1 = ModelFactory.NewBendPoint(25, 25, 25);
            //var connection1 = ModelFactory.NewConnection("Connection 1 " + DateTime.Now.ToString(),
            //                    node0, node1, relationship1
            //                  );
            //connection1.bendpoint.Add(bendpoint1);

            //view view2;
            //var views = ModelFactory.NewViews(
            //                view2 = ModelFactory.NewView("View 2 " + DateTime.Now.ToString(), ModelConst.ViewType.Layered,
            //                    new node[] {
            //                        node0, node1
            //                    },
            //                    new connection[] { connection1 }
            //                )
            //            );
            //model2.views.Add(views);

            //tenant2.processinghistory.Add(
            //ModelFactory.NewProcessinghistory(
            //    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
            //        ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
            //        null, null,
            //        ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //        )
            //    )
            //)
            //);
            //tenant2.usage.Add(
            //            ModelFactory.NewUsage(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //tenant2.performance.Add(
            //            ModelFactory.NewPerformance(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //tenant2.management.Add(
            //            ModelFactory.NewManagement(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );

            //model2.processinghistory.Add(
            //            ModelFactory.NewProcessinghistory(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //model2.usage.Add(
            //            ModelFactory.NewUsage(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //model2.performance.Add(
            //            ModelFactory.NewPerformance(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //model2.management.Add(
            //            ModelFactory.NewManagement(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );

            //elementArray[0].processinghistory.Add(
            //ModelFactory.NewProcessinghistory(
            //    ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
            //        ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
            //        null, null,
            //        ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //        )
            //    )
            //)
            //);
            //elementArray[0].usage.Add(
            //            ModelFactory.NewUsage(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //elementArray[0].performance.Add(
            //            ModelFactory.NewPerformance(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //elementArray[0].management.Add(
            //            ModelFactory.NewManagement(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );

            //view2.processinghistory.Add(
            //            ModelFactory.NewProcessinghistory(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Processinghistory " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.processinghistory, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //view2.usage.Add(
            //            ModelFactory.NewUsage(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.usage, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //view2.performance.Add(
            //            ModelFactory.NewPerformance(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Performance " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.performance, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );
            //view2.management.Add(
            //            ModelFactory.NewManagement(
            //                ModelFactory.NewTimesnap(DateTime.Now, "Timesnap Management " + DateTime.Now.ToString(),
            //                    ModelConst.TimesnapCategory.management, "Subcategory " + DateTime.Now.ToString(),
            //                    null, null,
            //                    ModelFactory.NewProperty(ModelFactory.NewValue("Value " + DateTime.Now.ToString()), pdefString
            //                    )
            //                )
            //            )
            //            );

            using (var ctxTarget = new ModelMateEFModel9Context())
            {
                ctxTarget.Database.Log = Console.Write;

                tTarget = ModelFinder.FindTenant(ctxTarget, tTargetIdentifier, "");
                ModelDump.DisplayDBPropertyValues("tTarget", ctxTarget.Entry(tTarget).CurrentValues, null);

                folders fs0 = tTarget.folders.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("fs0", ctxTarget.Entry(fs0).CurrentValues, null);
                folder f0 = fs0.folder.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("f0", ctxTarget.Entry(f0).CurrentValues, null);

                mTarget = ModelFinder.FindModel(ctxTarget, tTarget, mTargetIdentifier, null);
                ModelDump.DisplayDBPropertyValues("mTarget", ctxTarget.Entry(mTarget).CurrentValues, null);

                ModelMigrator.MigrateModel(ctxTarget, tTarget, f0,
                                           mSource, PCOOperation.merge, PCOOperation.merge, true);
            }

            Console.WriteLine("Press enter to exist...");
            Console.ReadLine();
        }
示例#22
0
        public void ImportMail(Outlook.Explorers explorers, ConfigXML configXML)
        {
            ComponentResourceManager resources = new ComponentResourceManager(typeof(OpenKMAddIn));

            int mailCount  = 0;
            int mailAttach = 0;

            for (int y = 1; y <= explorers.Count; y++)
            {
                Outlook.Explorer openWindow        = explorers.Item(y);
                String           token             = "";
                OKMAuth          authService       = new OKMAuth(configXML.getHost());
                OKMFolder        folderService     = new OKMFolder(configXML.getHost());
                OKMRepository    repositoryService = new OKMRepository(configXML.getHost());
                OKMMail          mailService       = new OKMMail(configXML.getHost());
                OKMDocument      documentService   = new OKMDocument(configXML.getHost());

                try
                {
                    if (configXML.getUser().Equals("") || configXML.getPassword().Equals("") ||
                        configXML.getHost().Equals(""))
                    {
                        throw new Exception(resources.GetString("error_configuration_empty"));
                    }

                    token = authService.login(configXML.getUser(), configXML.getPassword());

                    for (int i = 1; i <= openWindow.Selection.Count; i++)
                    {
                        Object selObject = openWindow.Selection.Item(i);
                        if (selObject is Outlook.MailItem)
                        {
                            mailCount++;
                            Outlook.MailItem mailItem     = (selObject as Outlook.MailItem);
                            DateTime         receivedTime = mailItem.ReceivedTime;
                            String           user         = configXML.getUser();
                            String           basePath     = "/okm:mail/" + user + "/";
                            String           year         = "" + receivedTime.Year;
                            String           month        = "" + receivedTime.Month;
                            String           day          = "" + receivedTime.Day;

                            // Only creating folders when it's needed
                            if (repositoryService.hasNode(token, basePath + year))
                            {
                                if (repositoryService.hasNode(token, basePath + year + "/" + month))
                                {
                                    if (!repositoryService.hasNode(token, basePath + year + "/" + month + "/" + day))
                                    {
                                        folder dayFolder = new folder();
                                        dayFolder.path = basePath + year + "/" + month + "/" + day;
                                        folderService.create(token, dayFolder);
                                    }
                                }
                                else
                                {
                                    folder monthFolder = new folder();
                                    folder dayFolder   = new folder();
                                    monthFolder.path = basePath + year + "/" + month;
                                    dayFolder.path   = basePath + year + "/" + month + "/" + day;
                                    folderService.create(token, monthFolder);
                                    folderService.create(token, dayFolder);
                                }
                            }
                            else
                            {
                                folder yearFolder  = new folder();
                                folder monthFolder = new folder();
                                folder dayFolder   = new folder();
                                yearFolder.path  = basePath + year;
                                monthFolder.path = basePath + year + "/" + month;
                                dayFolder.path   = basePath + year + "/" + month + "/" + day;
                                folderService.create(token, yearFolder);
                                folderService.create(token, monthFolder);
                                folderService.create(token, dayFolder);
                            }

                            // Adding mail values
                            mail newMail = new mail();
                            newMail.path    = basePath + year + "/" + month + "/" + day + "/" + mailItem.Subject;
                            newMail.subject = mailItem.Subject;

                            newMail.from = mailItem.GetType().InvokeMember("SenderEmailAddress", System.Reflection.BindingFlags.GetProperty, null, mailItem, null).ToString();
                            //newMail.from = mailItem.SenderEmailAddress; // SenderEmailAddress was introduced in outlook 2002
                            newMail.sentDate              = mailItem.SentOn;
                            newMail.sentDateSpecified     = true;
                            newMail.receivedDate          = mailItem.ReceivedTime;
                            newMail.receivedDateSpecified = true;

                            // Setting mail context and type

                            BodyFormat format = (BodyFormat)mailItem.GetType().InvokeMember("BodyFormat", System.Reflection.BindingFlags.GetProperty, null, mailItem, null);
                            if (format.Equals(BodyFormat.olFormatPlain))
                            {
                                newMail.mimeType = "text/plain";
                                newMail.content  = mailItem.Body;
                            }
                            else
                            {
                                newMail.mimeType = "text/html";
                                newMail.content  = mailItem.HTMLBody;
                            }

                            // Initialize count recipient address variables
                            int count          = 0;
                            int countTo        = 0;
                            int countCC        = 0;
                            int countBCC       = 0;
                            int actualCountTo  = 0;
                            int actualCountCC  = 0;
                            int actualCountBCC = 0;

                            // Count each mail addresss type to / cc / bcc
                            for (int x = 1; x <= mailItem.Recipients.Count; x++)
                            {
                                Outlook.Recipient recipient = mailItem.Recipients.Item(x);
                                switch (recipient.Type)
                                {
                                case 1:
                                    countTo++;
                                    break;

                                case 2:
                                    countCC++;
                                    break;

                                case 3:
                                    countBCC++;
                                    break;

                                default:
                                    countTo++;
                                    break;
                                }
                                count++;
                            }

                            // Initialize variables
                            String[] mailTo  = new String[(countTo > 0) ? countTo : 1];
                            String[] mailCC  = new String[(countCC > 0) ? countCC : 1];
                            String[] mailBCC = new String[(countBCC > 0) ? countBCC : 1];

                            // All string[] must have at least one value, it¡s mandatory in webservices
                            if (countTo == 0)
                            {
                                mailTo[0] = "";
                            }
                            if (countCC == 0)
                            {
                                mailCC[0] = "";
                            }
                            if (countBCC == 0)
                            {
                                mailBCC[0] = "";
                            }

                            // Depending mail type each mail is assignede to it own type String[]
                            for (int x = 1; x <= mailItem.Recipients.Count; x++)
                            {
                                Outlook.Recipient recipient = mailItem.Recipients.Item(x);
                                switch (recipient.Type)
                                {
                                case 1:
                                    mailTo[actualCountTo] = recipient.Address;
                                    actualCountTo++;
                                    break;

                                case 2:
                                    mailCC[actualCountCC] = recipient.Address;
                                    actualCountCC++;
                                    break;

                                case 3:
                                    mailBCC[actualCountBCC] = recipient.Address;
                                    actualCountBCC++;
                                    break;

                                default:
                                    mailTo[actualCountTo] = recipient.Address;
                                    actualCountTo++;
                                    break;
                                }
                            }

                            // Assign mail recipients by type
                            newMail.bcc = mailBCC;
                            newMail.cc  = mailCC;
                            newMail.to  = mailTo;

                            // Creating mail
                            newMail = mailService.create(token, newMail);

                            // Setting attachments
                            if (mailItem.Attachments.Count > 0)
                            {
                                for (int x = 1; x <= mailItem.Attachments.Count; x++)
                                {
                                    Outlook.Attachment attachment = mailItem.Attachments.Item(x);

                                    mailAttach++;
                                    document doc = new document();
                                    doc.path = newMail.path + "/" + attachment.FileName;

                                    // save as tempfile for reading
                                    String filename = Environment.GetEnvironmentVariable("TEMP") + "\\" + DateTime.Now.ToString("yymmddHHMMss-") + attachment.FileName;
                                    // save the attachment
                                    attachment.SaveAsFile(filename);

                                    // Uploading document
                                    documentService.create(token, doc, ReadFile(filename));

                                    // Delete a file by using File class static method...
                                    if (File.Exists(filename))
                                    {
                                        // Use a try block to catch IOExceptions, to
                                        // handle the case of the file already being
                                        // opened by another process.
                                        try
                                        {
                                            File.Delete(filename);
                                        }
                                        catch (System.IO.IOException ex)
                                        {
                                            MessageBox.Show(String.Format(resources.GetString("error_deleting_tmp_file"), filename, ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                        }
                                    }

                                    // Releasing com object
                                    Marshal.ReleaseComObject(attachment);
                                }
                            }

                            // Releasing com object
                            Marshal.ReleaseComObject(mailItem);
                        }

                        // Releasing com object
                        Marshal.ReleaseComObject(selObject);
                    }

                    if (!token.Equals(""))
                    {
                        authService.logout(token);  // Always we logout
                        token = "";                 // Reseting token value
                    }

                    if (mailCount > 0)
                    {
                        MessageBox.Show(String.Format(resources.GetString("email_successful_imported"), mailCount, mailAttach));
                    }
                    else
                    {
                        MessageBox.Show(resources.GetString("error_mail_not_selected"), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    if (!token.Equals(""))
                    {
                        authService.logout(token); // Always we logout
                    }
                }
            }
        }
示例#23
0
 GetFiles(folder, filter, PLUGIN_FILE)
 .Select(x => Read(x))
示例#24
0
    protected string parse_tasks(notes n, List <task_stato> stati, task_filter tf = null, string title_folder = "", string path_folder = ""
                                 , List <task_filter> tfs = null, string search = "")
    {
        StringBuilder sb = new StringBuilder();

        sb.Append(core.parse_html_block(search != "" ? (title_folder == "" ? "title-attivita-search" : "title-attivita-folder-search")
        : (title_folder == "" ? "title-attivita" : "title-attivita-folder")
                                        , new string[, ] {
            { "title-folder", title_folder }, { "path-folder", path_folder }
            , { "filter-title", search != "" ? "ricerca attività" : (tf != null ? tf.title : "") }
            , { "filter-des", (search != "" ? "ricerca attività che contengono '" + search + "'" : "") + (tf != null ? tf.notes + " ordinate per data decrescente" : "") }
            , { "conteggio", n.tasks != null && n.tasks.Count > 0 ? "per un totale di: " + n.tasks.Count.ToString() + " attività"
          : "non è stata trovata nessuna attività" }
            , { "html-filters", tfs != null ? string.Join("", tfs.Select(x =>
                                                                         string.Format("<a class='dropdown-item {2}' href='javascript:change_filter({1})'>{0}</a>", x.title, x.id, x.class_css != "" ? "text-" + x.class_css : ""))) : "" }
        }));

        List <int> orders = n.tasks.Select(x => x.stato.order).Distinct().ToList();

        orders.Sort();
        foreach (int order in orders)
        {
            bool        first     = true;
            List <task> sub_tasks = n.tasks.Where(x => x.stato.order == order).OrderByDescending(xx => xx.dt_ref).ToList();
            foreach (task t in sub_tasks)
            {
                // title
                if (first)
                {
                    string sub_title = sub_tasks.Count == 1 ? t.stato.title_singolare : t.stato.title_plurale;
                    sb.Append(core.parse_html_block("open-title-sub-attivita", new string[, ] {
                        { "count", sub_tasks.Count.ToString() }, { "cls", t.stato.cls }
                        , { "title", sub_title != "" ? sub_title : (sub_tasks.Count == 1 ? "GENERICA" : "GENERICHE") }
                    }));
                    first = false;
                }

                // task
                string folder_path = "";
                if (t.file_id.HasValue)
                {
                    folder f = t.folder_id.HasValue ? n.synch_folders.FirstOrDefault(x => x.id == t.synch_folder_id).get_folder(t.folder_id.Value) : null;
                    folder_path = f != null ? f.path : "";
                }
                else
                {
                    synch_folder sf = n.synch_folders.FirstOrDefault(x => x.id == t.synch_folder_id);
                    folder       f  = sf.get_folder(t.folder_id.Value)
                    , fp            = f.parent_id.HasValue ? sf.get_folder(f.parent_id.Value) : null;
                    folder_path = fp != null ? fp.path : "";
                }
                sb.Append(parse_task(t, n.find_synch_folder(t.synch_folder_id).title + folder_path, stati));
            }
            if (!first)
            {
                sb.Append(core.parse_html_block("close-title-sub-attivita"));
            }
        }

        return(sb.ToString());
    }
示例#25
0
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        // inizializzazione
        _cmd = master.check_cmd(qry_val("cmd"));

        // elab requests & cmds
        if (this.IsPostBack)
        {
            return;
        }

        try {
            notes ob = new notes();

            // upload file
            if (json_request.there_file(this))
            {
                json_result res = new json_result(json_result.type_result.ok);

                try {
                    if (Request.Files.Count > 0)
                    {
                        HttpFileCollection files = Request.Files;
                        foreach (string key in files)
                        {
                            HttpPostedFile file    = files[key];
                            string         tp_file = key.Split(new char[] { '_' })[0];
                            if (tp_file == "task-file")
                            {
                                int    task_id = int.Parse(key.Split(new char[] { '_' })[2]);
                                byte[] content;
                                using (var streamReader = new MemoryStream()) {
                                    file.InputStream.CopyTo(streamReader);
                                    content = streamReader.ToArray();
                                }
                                add_att(ob, task_id, Path.GetFileName(file.FileName), content);
                            }
                            else
                            {
                                throw new Exception("tipo file upload '" + tp_file + "' non supportato!");
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("nessun file da caricare!");
                    }
                } catch (Exception ex) { log.log_err(ex); res = new json_result(json_result.type_result.error, ex.Message); }

                write_response(res);

                return;
            }

            // js request
            if (json_request.there_request(this))
            {
                json_result res = new json_result(json_result.type_result.ok);

                try {
                    json_request jr = new json_request(this);

                    // base
                    if (base_elab_action(jr, res))
                    {
                        // fatta
                    }
                    // add_att
                    else if (jr.action == "add_att")
                    {
                        add_att(ob, jr.val_int("task_id"), jr.val_str("name"));
                    }
                    // task_state
                    else if (jr.action == "task_state")
                    {
                        List <free_label> fl = ob.load_free_labels();

                        string folder_path;
                        ob.update_task(jr.val_int("id"), out folder_path, fl, stato: jr.val_str("stato"));
                        List <task_stato> stati = db_conn.dt_table(core.parse_query("menu-states")).Rows.Cast <DataRow>()
                                                  .Select(r => new task_stato(db_provider.str_val(r["stato"]), 0, "", ""
                                                                              , db_provider.str_val(r["title_singolare"]))).ToList();
                        res.html_element = parse_task(ob.load_task(jr.val_int("id")), folder_path, stati);
                    }
                    // set_filter_id
                    else if (jr.action == "set_filter_id")
                    {
                        set_cache_var("active-task-filter", jr.val_str("filter_id"));
                    }
                    // remove_task
                    else if (jr.action == "remove_task")
                    {
                        ob.remove_task(jr.val_int("id"));
                    }
                    // update_task
                    else if (jr.action == "update_task")
                    {
                        List <free_label> fl = ob.load_free_labels();

                        if (!nome_valido(jr.val_str("title")))
                        {
                            throw new Exception("nome '" + jr.val_str("title") + "' non valido!");
                        }

                        string folder_path;
                        ob.update_task(jr.val_int("id"), out folder_path, fl, title: jr.val_str("title"), assegna: jr.val_str("assegna")
                                       , priorita: jr.val_str("priorita"), stima: jr.val_str("stima"), tipo: jr.val_str("tipo"));
                        List <task_stato> stati = db_conn.dt_table(core.parse_query("menu-states")).Rows.Cast <DataRow>()
                                                  .Select(r => new task_stato(db_provider.str_val(r["stato"]), 0, "", ""
                                                                              , db_provider.str_val(r["title_singolare"]))).ToList();
                        res.html_element = parse_task(ob.load_task(jr.val_int("id")), folder_path, stati);
                    }
                    // ren_task
                    else if (jr.action == "ren_task")
                    {
                        if (!nome_valido(jr.val_str("title")))
                        {
                            throw new Exception("nome '" + jr.val_str("title") + "' non valido!");
                        }
                        ob.ren_task(jr.val_int("id"), jr.val_str("title"));
                    }
                    // add_task
                    else if (jr.action == "add_task")
                    {
                        if (!nome_valido(jr.val_str("title")))
                        {
                            throw new Exception("nome '" + jr.val_str("title") + "' non valido!");
                        }

                        ob.add_task(jr.val_int("synch_folder_id"), jr.val_int("folder_id"), jr.val_int_null("search_id"), jr.val_str("stato")
                                    , jr.val_str("title"), jr.val_str("assegna"), jr.val_str("priorita"), jr.val_str("tipo"), jr.val_str("stima"));
                    }
                    // remove_att
                    else if (jr.action == "remove_att")
                    {
                        ob.remove_att(jr.val_int("id"));
                    }
                    // ren_att
                    else if (jr.action == "ren_att")
                    {
                        ob.ren_file(jr.val_int("file_id"), jr.val_str("name"));
                    }
                    // add_folder
                    else if (jr.action == "add_folder")
                    {
                        if (!nome_valido(jr.val_str("title")))
                        {
                            throw new Exception("nome '" + jr.val_str("title") + "' non valido!");
                        }

                        ob.add_folder(jr.val_int("synch_folder_id"), jr.val_int("folder_id"), jr.val_str("title"));
                    }
                    // ren_folder
                    else if (jr.action == "ren_folder")
                    {
                        if (!nome_valido(jr.val_str("title")))
                        {
                            throw new Exception("nome '" + jr.val_str("title") + "' non valido!");
                        }
                        ob.ren_folder(jr.val_int("synch_folder_id"), jr.val_int("folder_id"), jr.val_str("title"));
                    }
                    // del_folder
                    else if (jr.action == "del_folder")
                    {
                        ob.del_folder(jr.val_int("synch_folder_id"), jr.val_int("folder_id"));
                        res.contents = master.url_cmd("tasks");
                    }
                    // cut_element
                    else if (jr.action == "cut_element")
                    {
                        int    f_id = jr.val_int("element_id"), sf_id = jr.val_int("synch_folder_id");
                        string tp = jr.val_str("tp_element"); bool?added = null;
                        if (tp == "folder" || tp == "synch-folder")
                        {
                            if (sf_id > 0 && tp == "synch-folder")
                            {
                                foreach (int id in ob.ids_childs_folders(sf_id))
                                {
                                    added = set_element_cut(id, element_cut.element_cut_type.folder, jr.val_bool("copy")); res.list.Add(id.ToString());
                                }
                            }
                            else
                            {
                                added = set_element_cut(f_id, element_cut.element_cut_type.folder, jr.val_bool("copy")); res.list.Add(f_id.ToString());
                            }
                        }
                        else if (tp == "task")
                        {
                            added = set_element_cut(f_id, element_cut.element_cut_type.task, jr.val_bool("copy"));
                        }
                        else if (tp == "att")
                        {
                            added = set_element_cut(f_id, element_cut.element_cut_type.attachment, jr.val_bool("copy"));
                        }

                        res.set_var("added", added.HasValue ? (added.Value ? "true" : "false") : "none");
                    }
                    // paste_elements
                    else if (jr.action == "paste_elements")
                    {
                        string tp_paste = jr.val_str("tp");
                        int    f_id = jr.val_int("folder_id"), sf_id = jr.val_int("synch_folder_id");
                        bool   paste = false;
                        if (elements_cut.Count > 0)
                        {
                            string err = ""; List <element_cut> ecs = new List <element_cut>();
                            if (tp_paste == "task")
                            {
                                DataRow dr = ob.get_task_info(f_id);
                                if (db_provider.int_val(dr["file_id"]) > 0)
                                {
                                    throw new Exception("questo task non può contenere un allegato!");
                                }
                                string path_task = Path.Combine(db_provider.str_val(dr["synch_local_path"])
                                                                , db_provider.str_val(dr["folder_path"]).Length > 0 ? db_provider.str_val(dr["folder_path"]).Substring(1) : "");
                                foreach (element_cut ec in elements_cut)
                                {
                                    try {
                                        if (ec.tp == element_cut.element_cut_type.attachment)
                                        {
                                            paste = true;
                                            if (!ec.copy)
                                            {
                                                ob.move_file(ec.id, db_provider.int_val(dr["folder_id"]), db_provider.int_val(dr["synch_folder_id"]), path_task);
                                            }
                                            else
                                            {
                                                ob.copy_file(ec.id, db_provider.int_val(dr["folder_id"]), db_provider.int_val(dr["synch_folder_id"]), path_task);
                                            }
                                        }
                                    } catch (Exception ex) {
                                        ecs.Add(ec);
                                        if (err == "")
                                        {
                                            err = ex.Message;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (sf_id <= 0)
                                {
                                    sf_id = ob.get_synch_folder_id(f_id);
                                }
                                foreach (element_cut ec in elements_cut)
                                {
                                    try {
                                        if (ec.tp == element_cut.element_cut_type.folder)
                                        {
                                            ob.move_folder(ec.id, sf_id, f_id > 0 ? f_id : (int?)null); paste = true;
                                        }
                                        else if (ec.tp == element_cut.element_cut_type.task)
                                        {
                                            ob.move_task(ec.id, sf_id, f_id > 0 ? f_id : (int?)null); paste = true;
                                        }
                                    } catch (Exception ex) {
                                        ecs.Add(ec);
                                        if (err == "")
                                        {
                                            err = ex.Message;
                                        }
                                    }
                                }
                            }
                            res.message = err;
                            elements_cut.Clear();
                            foreach (element_cut ec2 in ecs)
                            {
                                elements_cut.Add(ec2);
                            }
                        }

                        if (!paste)
                        {
                            throw new Exception("non è stato incollato nessun elemento!");
                        }
                    }
                    // get_notes
                    else if (jr.action == "get_details")
                    {
                        res.contents = ob.get_task_notes(jr.val_int("task_id"));
                        string html_allegati = "";
                        foreach (DataRow dr in ob.get_task_allegati(jr.val_int("task_id"), jr.val_int_null("search_id")).Rows)
                        {
                            bool cut = there_element_cut(db_provider.int_val(dr["file_id"]), element_cut.element_cut_type.attachment)
                            , found = db_provider.int_val(dr["found_file"]) > 0, file_task = db_provider.int_val(dr["file_task"]) > 0;
                            string style = cut ? "badge-warning" : (found ? "badge-danger" : (file_task ? "badge-primary" : "badge-light"));
                            html_allegati += master.client_key == "" ? core.parse_html_block("task-allegato", new string[, ] {
                                { "file-id", db_provider.str_val(dr["file_id"]) }
                                , { "http-path", db_provider.str_val(dr["http_path"]) }, { "file-name", db_provider.str_val(dr["file_name"]) }, { "style", style }, { "tp_att", style }
                            })
                : core.parse_html_block("task-allegato-client", new string[, ] {
                                { "file-id", db_provider.str_val(dr["file_id"]) }, { "file-name", db_provider.str_val(dr["file_name"]) }, { "style", style }, { "tp_att", style }
                                , { "user-id", ob.user_id.ToString() }, { "user-name", ob.user_name }
                            });
                        }
                        res.html_element = html_allegati != "" ? core.parse_html_block("task-allegati", new string[, ] {
                            { "html-allegati", html_allegati }
                        }) : "";
                    }
                    // save_task_notes
                    else if (jr.action == "save_task_notes")
                    {
                        synch s = ob.get_synch(jr.val_int("user_id"), jr.val_str("user_name"));
                        s.save_task_notes(jr.val_int("task_id"), jr.val_str("text"));
                    }
                    else if (jr.action == "synch_folders")
                    {
                        synch s = ob.get_synch(jr.val_int("user_id"), jr.val_str("user_name"));
                        s.synch_event += s_synch_event;
                        synch_results rf = s.reload_folders(force: true);
                        res.data     = rf;
                        res.contents = _synch_events;
                    }
                } catch (Exception ex) { log.log_err(ex); res = new json_result(json_result.type_result.error, ex.Message); }

                write_response(res);

                return;
            }

            // synch
            if (_cmd != null && _cmd.action == "synch")
            {
                content.InnerHtml = "<p>sincronizzazione cartelle...</p>";
                ClientScript.RegisterStartupScript(GetType(), "__action"
                                                   , "var __action_page = '" + _cmd.action + "';\r\n"
                                                   + "var __user_id = " + this.user.id + ";\r\n"
                                                   + "var __user_name = '" + this.user.name + "';\r\n", true);
            }

            // tasks
            else if (_cmd != null && ((_cmd.action == "view" && _cmd.obj == "tasks") ||
                                      (_cmd.action == "search" && _cmd.obj == "task")))
            {
                int?fi        = qry_val("idt") != "" ? qry_int("idt") : (qry_val("id") != "" ? qry_int("id") : (int?)null)
                , sfi         = qry_val("sft") != "" ? qry_int("sft") : (qry_val("sf") != "" ? qry_int("sf") : (int?)null);
                string search = _cmd.action == "search" ? _cmd.sub_obj() : "";

                // ricerca testo
                int search_cc = 0;
                int?search_id = search != "" ? ob.search_task(search, this.Session.SessionID, out search_cc) : (int?)null;
                search_id_active.Value = search_id.HasValue ? search_id.Value.ToString() : "";

                // filtro attivo
                List <task_filter> tfs = db_conn.dt_table(core.parse_query("filters-tasks")).Rows
                                         .Cast <DataRow>().Select(r => new task_filter(db_provider.int_val(r["task_filter_id"])
                                                                                       , db_provider.str_val(r["filter_title"]), db_provider.str_val(r["filter_notes"])
                                                                                       , db_provider.str_val(r["filter_def"]), db_provider.str_val(r["filter_class"]))).ToList();
                task_filter tf = tfs.FirstOrDefault(x => x.id == int.Parse(get_cache_var("active-task-filter", "1")));
                if (tf == null || search_id.HasValue)
                {
                    tf = new task_filter(0, "elenco completo delle attività", "", "", "");
                }

                ob.load_objects(fi, sfi, tf, search_id);

                menu.InnerHtml  = parse_menu(ob.synch_folders, sfi.HasValue || fi.HasValue, qry_val("cmd"), search_id);
                folder_id.Value = qry_val("id");

                folder       f     = fi.HasValue ? ob.find_folder(fi.Value) : null;
                synch_folder sf    = sfi.HasValue ? ob.find_synch_folder(sfi.Value) : null;
                string       title = f != null ? f.folder_name : (sf != null ? sf.title : "");

                List <task_stato> stati = db_conn.dt_table(core.parse_query("menu-states")).Rows.Cast <DataRow>()
                                          .Select(r => new task_stato(db_provider.str_val(r["stato"]), 0, "", "", db_provider.str_val(r["title_singolare"]))).ToList();

                content.InnerHtml = "<div style='display:none'>virtuale</div>"
                                    + parse_tasks(ob, stati, tf, title, f != null ? ob.find_synch_folder(f.synch_folder_id).title + f.path : "", tfs, search: search_id.HasValue ? search : "");

                ClientScript.RegisterStartupScript(GetType(), "__task_states"
                                                   , "var __action_page = '';\r\n"
                                                   + "var __task_priorita = " + JsonConvert.SerializeObject(db_conn.dt_table(core.parse_query("task-priorita"))) + ";\r\n"
                                                   + "var __task_stime = " + JsonConvert.SerializeObject(db_conn.dt_table(core.parse_query("task-stime"))) + ";\r\n"
                                                   + "var __task_tipi = " + JsonConvert.SerializeObject(db_conn.dt_table(core.parse_query("task-tipi"))) + ";\r\n"
                                                   + "var __task_assegna = " + JsonConvert.SerializeObject(db_conn.dt_table(core.parse_query("task-assegna"))) + ";\r\n"
                                                   + "var __user_id = " + this.user.id + ";\r\n"
                                                   + "var __user_name = '" + this.user.name + "';\r\n", true);
            }
            else
            {
                throw new Exception("COMANDO NON RICONOSCIUTO!");
            }
        } catch (Exception ex) { log.log_err(ex); if (!json_request.there_request(this))
                                 {
                                     master.err_txt(ex.Message);
                                 }
        }
    }
示例#26
0
        static void Main(string[] args)
        {
            const string tTargetName = "Test6 Tenant";
            const string mTargetName = "Test6 Model";

            string tSourceName = tTargetName;
            string mSourceName = mTargetName;

            //DirectoryInfo di = new DirectoryInfo(@"..\..\MyUsers4ModelMate");
            DirectoryInfo di = new DirectoryInfo(@"..\..\Test Assemblies");
            //DirectoryInfo di = new DirectoryInfo(@"..\..\Web Assemblies");

            string test1 = "Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a";

            //"System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";

            //"System.Collections.Generic.IDictionary`2<System.String,System.Data.Entity.Infrastructure.Annotations.AnnotationValues> System.Data.Entity.Migrations.Model.AlterTableOperation::_annotations";

            //"System.Collections.Generic.IDictionary`2<System.String,System.Data.Entity.Infrastructure.Annotations.AnnotationValues> System.Data.Entity.Migrations.Model.AlterTableOperation::_annotations";

            //"System.Data.Entity.DbSet`1<VetContext1.DataModel1.AnimalType>";

            string test1Namespace  = Cecil2ModelMate.GetNamespaceFromFQName(test1);
            string test1Name       = Cecil2ModelMate.GetNameFromFQName(test1);
            string test1ObjectType = Cecil2ModelMate.DetermineArchiMateObjectType(test1).ToString();

            Console.WriteLine("test1: " + test1);
            Console.WriteLine("test1Namespace: " + test1Namespace);
            Console.WriteLine("test1Name: " + test1Name);
            Console.WriteLine("test1ObjectType: " + test1ObjectType);
            test1ObjectType = Cecil2ModelMate.DetermineArchiMateObjectType(test1Name).ToString();
            Console.WriteLine("test1ObjectType: " + test1ObjectType);
            test1ObjectType = Cecil2ModelMate.DetermineArchiMateObjectType(test1Namespace).ToString();
            Console.WriteLine("test1ObjectType: " + test1ObjectType);

            //test1 = "a.b.c.d";
            //test1Name = Cecil2ModelMate.GetNameFromFQName(test1);
            //test1Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test1);
            //Console.WriteLine("test1: " + test1);
            //Console.WriteLine("test1Namespace: " + test1Namespace);
            //Console.WriteLine("test1Name: " + test1Name);

            //string test2 = "System.Data.Entity.DbSet`1<VetContext1.DataModel1.AnimalType>";
            //string test2Name = Cecil2ModelMate.DetermineArchiMateObjectType(test2).ToString();
            //Console.WriteLine("test2: " + test2);
            //Console.WriteLine("test2Name: " + test2Name);

            //test2 = "System.Data.Entity.DbSet`1";
            //test2Name = Cecil2ModelMate.DetermineArchiMateObjectType(test2).ToString();
            //Console.WriteLine("test2: " + test2);
            //Console.WriteLine("test2Name: " + test2Name);

            //string test3 = "System.Data.Entity.Infrastructure.Interception.MutableInterceptionContext`1<TResult>";
            //string test3Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test3);
            //string test3Name = Cecil2ModelMate.DetermineArchiMateInterfaceType(test3).ToString();
            //Console.WriteLine("test3: " + test3);
            //Console.WriteLine("test3Namespace: " + test3Namespace);
            //Console.WriteLine("test3Name: " + test3Name);

            //test3 = "System.Data";
            //test3Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test3);
            //test3Name = Cecil2ModelMate.DetermineArchiMateInterfaceType(test3).ToString();
            //Console.WriteLine("test3: " + test3);
            //Console.WriteLine("test3Namespace: " + test3Namespace);
            //Console.WriteLine("test3Name: " + test3Name);

            //test3 = "System";
            //test3Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test3);
            //test3Name = Cecil2ModelMate.DetermineArchiMateInterfaceType(test3).ToString();
            //Console.WriteLine("test3: " + test3);
            //Console.WriteLine("test3Namespace: " + test3Namespace);
            //Console.WriteLine("test3Name: " + test3Name);

            //test3 = "S";
            //test3Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test3);
            //test3Name = Cecil2ModelMate.DetermineArchiMateInterfaceType(test3).ToString();
            //Console.WriteLine("test3: " + test3);
            //Console.WriteLine("test3Namespace: " + test3Namespace);
            //Console.WriteLine("test3Name: " + test3Name);

            //test3 = "";
            //test3Namespace = Cecil2ModelMate.GetNamespaceFromFQName(test3);
            //test3Name = Cecil2ModelMate.DetermineArchiMateInterfaceType(test3).ToString();
            //Console.WriteLine("test3: " + test3);
            //Console.WriteLine("test3Namespace: " + test3Namespace);
            //Console.WriteLine("test3Name: " + test3Name);

            model mSource = Cecil2ModelMate.Migrate2ModelMate(tSourceName, mSourceName, di);

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();

            using (var ctxTarget = new ModelMateEFModel9Context())
            {
                //var oldLog = ctxTarget.Database.Log;
                //ctxTarget.Database.Log = Console.Write;

                Console.WriteLine("propertydefs.Count: " + ctxTarget.propertydefs.Local.Count().ToString());

                ModelMigrator.PreloadAllTables(ctxTarget);

                var tTarget = ModelFinder.FindTenant(ctxTarget, null, tTargetName);
                //var tenants = ModelFinder.FindTenants(ctxTarget, null, tnameTest);
                //var tenant = tenants.ElementAt<tenant>(0);
                Console.WriteLine("tenant.identifier: " + tTarget.identifier);

                folders fs0 = tTarget.folders.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("fs0", ctxTarget.Entry(fs0).CurrentValues, null);
                folder f0 = fs0.folder.ElementAt(0);
                ModelDump.DisplayDBPropertyValues("f0", ctxTarget.Entry(f0).CurrentValues, null);

                var models  = ModelFinder.FindModels(ctxTarget, tTarget, null, mTargetName);
                var mTarget = models.ElementAt <model>(0);
                Console.WriteLine("model.identifier: " + mTarget.identifier);
                var model0 = ModelFinder.FindModel(ctxTarget, tTarget, null, mTargetName);
                Console.WriteLine("model0.identifier: " + model0.identifier);

                ModelMigrator.MigrateModel(ctxTarget, tTarget, f0,
                                           mSource, PCOOperation.merge, PCOOperation.merge, true);

                string  modelSchemaFile = @"..\..\..\PSN.ModelMate.Schema\Schema\ModelMateModel9.xsd";
                DataSet dsModel         = new DataSet();
                dsModel.ReadXmlSchema(modelSchemaFile);
                var mmpModel = new ModelProcessor(ModelProcessor.ConvertModel2AMEFFDataSet);
                mmpModel.ProcessModel(dsModel, (DbContext)ctxTarget, new Collection <model> {
                    model0
                });
                //dsModel.WriteXml("model0ds.xml", XmlWriteMode.IgnoreSchema);
                string filename = "model8archi.xml";
                mmpModel.SaveAMEFFDataSetAsXML(dsModel, filename);

                //ctxTarget.Database.Log = oldLog;
                ctxTarget.SaveChanges();
            }

            Console.WriteLine("Press enter to exit...");
            Console.ReadLine();
        }
示例#27
0
        static void Main(string[] args)
        {
            var models1 = new models
            {
                models_Id = Util.MakeIdInt32()
            };

            for (int iTimes = 0; iTimes < 10; iTimes++)
            {
                var model = new model
                {
                    identifier = Util.MakeIdentifierTimestamped(ModelConst.MODEL_PREFIX, DateTime.Now),
                    version    = ModelConst.MODEL_VERSION,
                    model_Id   = Util.MakeIdInt32()
                };
                models1.model.Add(model);
            }

            var models2 = new models
            {
                models_Id = Util.MakeIdInt32()
            };

            for (int iTimes = 0; iTimes < 10; iTimes++)
            {
                var model = new model
                {
                    identifier = Util.MakeIdentifierTimestamped(ModelConst.MODEL_PREFIX, DateTime.Now),
                    version    = ModelConst.MODEL_VERSION,
                    model_Id   = Util.MakeIdInt32()
                };
                models2.model.Add(model);
            }

            folder[] folderArray = new folder[2];
            folderArray[0] = new folder
            {
                identifier = Util.MakeIdentifierTimestamped(ModelConst.MODEL_PREFIX, DateTime.Now),
                folder_Id  = Util.MakeIdInt32()
            };
            folderArray[0].models.Add(models1); // NOTE: Models

            folderArray[1] = new folder
            {
                identifier = Util.MakeIdentifierTimestamped(ModelConst.MODEL_PREFIX, DateTime.Now),
                folder_Id  = Util.MakeIdInt32()
            };
            folderArray[1].models.Add(models2); // NOTE: Model Templates

            var folders = new folders
            {
                folders_Id = Util.MakeIdInt32()
            };

            for (int iTimes = 0; iTimes < 2; iTimes++)
            {
                var folder = folderArray[iTimes];
                folders.folder.Add(folder);
            }

            var tenant = new tenant
            {
                identifier = Util.MakeIdentifierTimestamped(ModelConst.TENANT_PREFIX, DateTime.Now),
                version    = ModelConst.TENANT_VERSION,
                tenant_Id  = Util.MakeIdInt32()
            };

            name name;

            name           = new name();
            name.name_Id   = Util.MakeIdInt32();
            name.lang      = "en";
            name.name_text = Util.MakeIdentifierTimestamped(ModelConst.TENANT_PREFIX);
            tenant.name.Add(name);

            name           = new name();
            name.name_Id   = Util.MakeIdInt32();
            name.lang      = "en";
            name.name_text = Util.MakeIdentifierTimestamped(ModelConst.TENANT_PREFIX);
            tenant.name.Add(name);

            tenant.folders.Add(folders);

            using (var context = new ModelMateEFModel9Context())
            {
                context.tenant.Add(tenant);
                context.SaveChanges();

                tenant.version = ModelConst.TENANT_TESTVERSION;

                context.SaveChanges();

                object[] keys         = { 1724588879 };
                tenant   tenantDelete = context.tenant.Find(keys);
                context.tenant.Remove(tenantDelete);
                context.SaveChanges();
            }

            Console.WriteLine("Press Enter to continue...");
            Console.ReadLine();
        }
示例#28
0
        // GET: tiers
        public ActionResult Save(long id)
        {
            List <string> sexe = new List <string> {
                "Homme", "Femme"
            };

            ViewData["sexe"] = new SelectList(sexe);
            ViewData["id"]   = id;

            folder f = db.folder.Find(id);

            List <tiers>       l           = db.tiers.Where(m => m.id_folder == id).ToList();
            tiersconjointModel t           = new tiersconjointModel();
            string             queryString = " ";

            t.tiers    = new tiers();
            t.conjoint = new tiers();

            if (l != null)
            {
                if (l.Count == 2)

                {
                    t.tiers    = l[0];
                    t.conjoint = l[1];



                    DateTime dt          = DateTime.ParseExact(t.tiers.birth_date.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
                    string   birth_tiers = dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);

                    ViewData["naissanceTier"] = birth_tiers;

                    DateTime d = DateTime.ParseExact(t.conjoint.birth_date.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
                    string   birth_Conjoint = dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);

                    ViewData["naissanceConjoint"] = birth_Conjoint;

                    if (t.tiers.gender.Equals("Homme") && t.conjoint.gender.Equals("Femme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] =" + t.tiers.age + " and [FEMME - âge] =" + t.conjoint.age + " ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                ViewData["esperance"] = reader.GetDouble(0);
                            }
                        }
                    }
                    else if (t.tiers.gender.Equals("Femme") && t.conjoint.gender.Equals("Homme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] =" + t.conjoint.age + " and [FEMME - âge] =" + t.tiers.age + " ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                ViewData["esperance"] = reader.GetDouble(0);
                            }
                        }
                    }
                }
                else if (l.Count == 1)

                {
                    t.tiers = l[0];

                    DateTime dt          = DateTime.ParseExact(t.tiers.birth_date.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
                    string   birth_tiers = dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);

                    ViewData["naissanceTier"] = birth_tiers;

                    if (t.tiers.gender.Equals("Homme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] =" + t.tiers.age + " and [FEMME - âge] IS NULL ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                ViewData["esperance"] = reader.GetDouble(0);
                            }
                        }
                    }
                    else if (t.tiers.gender.Equals("Femme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] IS NULL  and [FEMME - âge] =" + t.tiers.age + " ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                ViewData["esperance"] = reader.GetDouble(0);
                            }
                        }
                    }
                }
            }
            return(View(t));
        }
示例#29
0
        Result iTool.Execute(Job job)
        {
            Result result = new Result(job.Id);

            config     permConfig = new config();
            comparison security   = new comparison();
            Helper     helper     = Helper.Instance;

            permConfig.ReadConfig(job.DownloadAttachment());

            List <site> sites = new List <site>();

            foreach (comparisonsite compSite in permConfig.comparisonSites)
            {
                Console.WriteLine(compSite.source);
                using (SPWeb web = new SPSite(compSite.source).OpenWeb())
                {
                    int              listCount = 0;
                    site             site      = new site(compSite.source, compSite.target);
                    List <folder>    folders   = new List <folder>();
                    SPListCollection siteLists = web.Lists;

                    foreach (SPList list in siteLists)
                    {
                        try
                        {
                            if (!permConfig.ignoreList.Contains(list.RootFolder.Name.ToLower()))
                            {
                                listCount++;
                                folder listFolder = AddFolder(list);

                                listFolder.serverRelativeUrl = helper.MapServerRelativeUrl(listFolder.serverRelativeUrl,
                                                                                           compSite.source,
                                                                                           compSite.target);

                                site.folders.Add(listFolder);

                                SPQuery query = new SPQuery();
                                query.Query          = @"
                                <Where>
                                    <BeginsWith>
                                        <FieldRef Name='ContentTypeId' />
                                        <Value Type='ContentTypeId'>0x0120</Value>
                                    </BeginsWith>
                                </Where>";
                                query.ViewAttributes = "Scope='RecursiveAll'";
                                SPListItemCollection items = list.GetItems(query);

                                foreach (SPListItem item in items)
                                {
                                    folder folder = AddFolder(item.Folder, false, item.Folder.Files.Count);

                                    string updatedUrl = helper.MapServerRelativeUrl(folder.serverRelativeUrl,
                                                                                    compSite.source,
                                                                                    compSite.target);
                                    folder.serverRelativeUrl = updatedUrl;

                                    site.folders.Add(folder);
                                }
                            }
                        }
                        catch (Exception ex) { Console.WriteLine(list.Title); Console.WriteLine(ex.Message); }
                    }

                    site.ListCount = listCount;
                    security.sites.Add(site);
                }
            }

            XmlSerializer serializer = new XmlSerializer(typeof(comparison));
            string        tmpFile    = Scheduler.Instance.CreateTmpFile();

            using (TextWriter stream = new StreamWriter(tmpFile))
            {
                using (XmlWriter writer = XmlWriter.Create(stream, new XmlWriterSettings {
                    Indent = true, CheckCharacters = true
                }))
                {
                    writer.WriteStartDocument();
                    serializer.Serialize(writer, security);
                    writer.WriteEndDocument();
                    writer.Flush();
                }
            }

            result.AddFile(tmpFile);

            return(result);
        }
示例#30
0
        public Double?esperance(int age1, int age2, int id_folder)
        {
            double?            esp         = 0;
            List <tiers>       l           = db.tiers.Where(m => m.id_folder == id_folder).ToList();
            tiersconjointModel t           = new tiersconjointModel();
            string             queryString = "";

            t.tiers    = new tiers();
            t.conjoint = new tiers();

            folder f = db.folder.Find(id_folder);

            if (l != null)
            {
                if (l.Count == 2)
                {
                    t.tiers    = l[0];
                    t.conjoint = l[1];


                    if (t.tiers.gender.Equals("Homme") && t.conjoint.gender.Equals("Femme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] =" + age1 + " and [FEMME - âge] =" + age2 + " ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                esp = reader.GetDouble(0);
                            }
                        }
                    }
                }
                if (age2 == 0)
                {
                    t.tiers = l[0];

                    if (t.tiers.gender.Equals("Homme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] =" + age1 + " and [FEMME - âge] IS NULL  ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                esp = reader.GetDouble(0);
                            }
                        }
                    }
                    else if (t.tiers.gender.Equals("Femme"))
                    {
                        queryString = "select Espérance from  " + f.version1.version1 + " where [HOMME - âge] IS NULL and [FEMME - âge] =" + age1 + " ;";

                        using (var connection = new SqlConnection("data source=DESKTOP-KV8OTIG;initial catalog=GestionImmobilier;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"))
                        {
                            var command = new SqlCommand(queryString, connection);

                            connection.Open();


                            SqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                esp = reader.GetDouble(0);
                            }
                        }
                    }
                }
            }

            return(esp);
        }
示例#31
0
        // Selects the image index depending some folder values
        public int selectImageIndex(folder folderNode)
        {
            try
            {
                bool hasWritePermission = ((folderNode.permissions & OKMPermissions.WRITE) == OKMPermissions.WRITE);

                if (folderNode.hasChildren)
                {
                    if (folderNode.subscribed)
                    {
                        if (hasWritePermission)
                        {
                            return(IMG_FOLDER_CHILDS_SUBSCRIBED);
                        }
                        else
                        {
                            return(IMG_FOLDER_CHILDS_READ_ONLY_SUBSCRIBED);
                        }
                    }
                    else
                    {
                        if (hasWritePermission)
                        {
                            return(IMG_FOLDER_CHILDS);
                        }
                        else
                        {
                            return(IMG_FOLDER_CHILDS_READ_ONLY);
                        }
                    }
                }
                else
                {
                    if (folderNode.subscribed)
                    {
                        if (hasWritePermission)
                        {
                            return(IMG_FOLDER_EMPTY_SUBSCRIBED);
                        }
                        else
                        {
                            return(IMG_FOLDER_EMPTY_READ_ONLY_SUBSCRIBED);
                        }
                    }
                    else
                    {
                        if (hasWritePermission)
                        {
                            return(IMG_FOLDER_EMPTY);
                        }
                        else
                        {
                            return(IMG_FOLDER_EMPTY_READ_ONLY);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#32
0
文件: folder.cs 项目: mokhan/mo.money
 public bool Equals(folder obj)
 {
     if (ReferenceEquals(null, obj)) return false;
     return ReferenceEquals(this, obj) || Equals(obj.path, path);
 }