Ejemplo n.º 1
1
	protected virtual void OnPropertiesClicked(object sender, System.EventArgs e)
	{
		object cur = addressview.GetCurrentObject();
		if (cur == null)
			return;
		if (cur is Address) {
			na = (Address) cur;
			NewAddress dlg = new NewAddress (na);
			dlg.Run();
			dlg = null;
		}
		else {
			ng = (AddressGroup) cur;
			NewGroup dlg = new NewGroup (ng);
			dlg.Run();
			dlg = null;
		}
	} 
Ejemplo n.º 2
0
        public ActionResult Save(AddressGroup addressGroup)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new AddressGroupViewModel
                {
                    AddressGroupTypes = _context.AddressGroupTypes.ToList(),
                    AddressGroup      = addressGroup
                };

                return(View("NewGroup", viewModel));
            }
            if (addressGroup.Id == 0)
            {
                addressGroup.AddedDay = DateTime.Now;

                _context.AddressGroups.Add(addressGroup);
            }
            else
            {
                var addressGroupInDb = _context.AddressGroups.SingleOrDefault(add => add.Id == addressGroup.Id);

                addressGroupInDb.Name = addressGroup.Name;
                addressGroupInDb.AddressGroupTypeId = addressGroup.AddressGroupTypeId;
            }

            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
        private IAddressGroup ReadAddressGroup(XmlNodeList addressCollectionIdNode, IAddressGroup entireAddressGroup, bool routingTableReadOnly)
        {
            bool addressCollectionsReadOnly = false;

            if (addressCollectionIdNode.Count > 0)
            {
                XmlNode node = addressCollectionIdNode[0].ParentNode;
                addressCollectionsReadOnly = PolicyUtilities.IsReadOnly(node);
            }

            IAddressGroup addressGroup = new AddressGroup(Guid.Empty, "", routingTableReadOnly || addressCollectionsReadOnly);

            List<string> exclusions = new List<string>();
            exclusions.Add("id");
            exclusions.Add("readonly");

            foreach (XmlNode addressIdNode in addressCollectionIdNode)
            {
                string addressId = addressIdNode.Attributes.GetNamedItem("id").InnerText;
                bool readOnly = PolicyUtilities.IsReadOnly(addressIdNode);
                AddressCollection currentCollection = entireAddressGroup[new Guid(addressId)] as AddressCollection;

                if (currentCollection != null)
                {
                    AddressCollection copiedCollection = new AddressCollection(currentCollection, readOnly);
                    new XmlCustomAttributesReader(copiedCollection, addressIdNode.Attributes, exclusions).Read();
                    addressGroup.Add(copiedCollection);
                }
            }

            return addressGroup;
        }
Ejemplo n.º 4
0
	protected virtual void OnNewgroupClicked(object sender, System.EventArgs e)
	{
		ng = new AddressGroup("untitled");
		NewGroup dlg = new NewGroup (ng);
		dlg.Run();
		list.Add (ng);
		dlg = null;
	}
Ejemplo n.º 5
0
    protected virtual void OnNewgroupClicked(object sender, System.EventArgs e)
    {
        ng = new AddressGroup("untitled");
        NewGroup dlg = new NewGroup(ng);

        dlg.Run();
        list.Add(ng);
        dlg = null;
    }
        public void AddGroup()
        {
            var group = new AddressGroup(
                this.addressFactory.Create(),
                this.contractRegistry,
                this.permissionManager.Address);
            var registerAction = new RegisterGroupAction(string.Empty, this.addressGroupRegistry.Address, group);

            this.permissionManager.ExecuteAction(registerAction);

            Assert.True(this.addressGroupRegistry.GetAllGroups().Contains(group));
        }
Ejemplo n.º 7
0
        public AddressGroupTest()
        {
            this.contractRegistry = new ContractRegistry();
            var tokenTagger = new FungibleTokenTagger();
            var tokenPicker = new FungibleTokenPicker();

            this.permissionManager = new ContractExecutor(this.addressFactory.Create());
            this.addressGroup      = new AddressGroup(this.addressFactory.Create(), this.contractRegistry,
                                                      this.permissionManager.Address);

            this.contractRegistry.RegisterContract(this.permissionManager);
            this.contractRegistry.RegisterContract(this.addressGroup);
        }
Ejemplo n.º 8
0
	public MainWindow (): base (Gtk.WindowType.Toplevel)
	{
		Build (); 
		AddressGroup dg = new AddressGroup ("Dummy group"); 
		list.Add (dg);
		Address p = new Address ("John", "S", "Smith", "234 2 234324", "http://www.somesite.com", "*****@*****.**");
		dg.Add (p);
		addressview.ItemsDataSource = list;
		p = new Address ("newJohnds", "Ssd", "Smithddf", "234 2 234324", "http://www.somesite.com", "*****@*****.**");
		dg.Add (p);
		p = new Address ("downJohnds", "Ssd", "Smithddf", "234 2 234324", "http://www.somesite.com", "*****@*****.**");
		list.Add (p);
		datavbox1.DataSource = addressview.CurrentSelection;
	}
        public void AddGroup_WhenAddressDuplicate_RemainsSingle()
        {
            var group = new AddressGroup(
                this.addressFactory.Create(),
                this.contractRegistry,
                this.permissionManager.Address);
            var addMemberAction = new RegisterGroupAction(string.Empty, this.addressGroupRegistry.Address, group);

            this.permissionManager.ExecuteAction(addMemberAction);
            Assert.Single(this.addressGroupRegistry.GetAllGroups());
            addMemberAction = new RegisterGroupAction(string.Empty, this.addressGroupRegistry.Address, group);
            this.permissionManager.ExecuteAction(addMemberAction);
            Assert.Single(this.addressGroupRegistry.GetAllGroups());
        }
Ejemplo n.º 10
0
    public MainWindow() : base(Gtk.WindowType.Toplevel)
    {
        Build();
        AddressGroup dg = new AddressGroup("Dummy group");

        list.Add(dg);
        Address p = new Address("John", "S", "Smith", "234 2 234324", "http://www.somesite.com", "*****@*****.**");

        dg.Add(p);
        addressview.ItemsDataSource = list;
        p = new Address("newJohnds", "Ssd", "Smithddf", "234 2 234324", "http://www.somesite.com", "*****@*****.**");
        dg.Add(p);
        p = new Address("downJohnds", "Ssd", "Smithddf", "234 2 234324", "http://www.somesite.com", "*****@*****.**");
        list.Add(p);
        datavbox1.DataSource = addressview.CurrentSelection;
    }
Ejemplo n.º 11
0
        public long SaveGroup(long?groupId, string groupName, long?parentGroupId)
        {
            AddressGroup modifying = null;
            long         id        = -1;

            if (OperationalClientId.HasValue)
            {
                if (groupId.HasValue)
                {
                    modifying = DataContext.AddressGroups.FirstOrDefault(group => group.Id == groupId && group.ClientId == OperationalClientId && !group.IsDeleted);
                }
                else
                {
                    modifying          = new AddressGroup();
                    modifying.ClientId = OperationalClientId.Value;
                    DataContext.AddressGroups.InsertOnSubmit(modifying);
                }
                if (modifying != null)
                {
                    if (!string.IsNullOrEmpty(groupName))
                    {
                        modifying.Name = groupName;
                    }
                    DataContext.SubmitChanges();
                    if (parentGroupId.HasValue)
                    {
                        modifying.MasterAssigments.Where(assigment => !assigment.IsDeleted)
                        .ToList().ForEach(assigment => assigment.IsDeleted = true);
                        modifying.MasterAssigments.Add(
                            new Groups2Address()
                        {
                            SlaveGroupId = modifying.Id,
                            GroupId      = parentGroupId.Value
                        }
                            );
                        DataContext.SubmitChanges();
                    }
                    id = modifying.Id;
                }
            }
            return(id);
        }
Ejemplo n.º 12
0
    protected virtual void OnPropertiesClicked(object sender, System.EventArgs e)
    {
        object cur = addressview.GetCurrentObject();

        if (cur == null)
        {
            return;
        }
        if (cur is Address)
        {
            na = (Address)cur;
            NewAddress dlg = new NewAddress(na);
            dlg.Run();
            dlg = null;
        }
        else
        {
            ng = (AddressGroup)cur;
            NewGroup dlg = new NewGroup(ng);
            dlg.Run();
            dlg = null;
        }
    }
Ejemplo n.º 13
0
 public void DeleteGroup(long groupId, bool IsWithChildren = false)
 {
     using (var tran = DataContext.Connection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
     {
         DataContext.Transaction = tran;
         AddressGroup deleting = DataContext.AddressGroups.FirstOrDefault(group => group.Id == groupId && group.ClientId == OperationalClientId && !group.IsDeleted);
         if (deleting != null)
         {
             var innerGroups = deleting.Assigments.Where(assigment => !assigment.IsDeleted).Select(assigment => assigment.SlaveGroup);
             foreach (var group in innerGroups)
             {
                 var disconnect = group.MasterAssigments.Where(assigment => assigment.GroupId == deleting.Id);
                 foreach (var link in disconnect)
                 {
                     link.IsDeleted = true;
                 }
                 foreach (var parentLink in deleting.MasterAssigments)
                 {
                     group.MasterAssigments.Add(new Groups2Address()
                     {
                         GroupId      = parentLink.GroupId,
                         SlaveGroupId = group.Id,
                     });
                 }
             }
             deleting.IsDeleted = true;
             DataContext.SubmitChanges();
             if (IsWithChildren)
             {
                 foreach (var group in innerGroups)
                 {
                     DeleteGroup(group.Id, IsWithChildren);
                 }
             }
         }
     }
 }
Ejemplo n.º 14
0
 public UpdateGroupAction(string hash, Address target, AddressGroup addressGroup)
     : base(hash, target)
 {
     this.AddressGroup = addressGroup;
 }
Ejemplo n.º 15
0
 AddressGroup parseGroup(String displayName)
 {
     var ag = new AddressGroup(displayName);
     l.expectCurrent(Token.Type.COLON);
     do
     {
         ag.listAddresses.AddLast(parseMailbox());
         if (l.current().type != Token.Type.SEMICOLON)
             l.nextNonCFWS();
         else
             break;
     } while (l.current().type == Token.Type.COMMA);
     l.expectCurrent(Token.Type.SEMICOLON);
     return ag;
 }
Ejemplo n.º 16
0
        public List <FullContact> GetFullContacts(ContactParameters contactParameters)
        {
            // INNER JOIN lambda

            /*return this.RepositoryContext.Contacts.Join(
             * this.RepositoryContext.Addresses,
             * contact => contact.Id,
             * address => address.ContactId,
             * (contact, address) => new FullContact
             * {
             * ZipCode = address.ZipCode,
             * City = address.City,
             * FirstName = contact.FirstName,
             * LastName = contact.LastName
             * }
             * ).ToList();*/

            // LEFT JOIN lambda

            /*return this.RepositoryContext.Contacts
             *      .GroupJoin(
             *          this.RepositoryContext.Addresses,
             *          contact => contact.Id,
             *          address => address.ContactId,
             *          (contact, address) => new { contact, address }
             *      )
             *      .SelectMany(
             *          x => x.address.DefaultIfEmpty(),
             *          (x, address) => new FullContact {
             *              FirstName = x.contact.FirstName,
             *              LastName = x.contact.LastName,
             *              City = address == null ? string.Empty : address.City,
             *              ZipCode = address == null ? 0 : address.ZipCode
             *          }
             *      ).ToList();*/

            // LEFT JOIN Query syntax

            /*var query = from contact in this.RepositoryContext.Contacts
             *                join address in this.RepositoryContext.Addresses
             *                on contact.Id equals address.ContactId
             *                into ContactAddressGroup
             *                from address in ContactAddressGroup.DefaultIfEmpty()
             *                select new FullContact
             *                {
             *                    FirstName = contact.FirstName,
             *                    LastName = contact.LastName,
             *                    Gender = contact.Gender,
             *                    ZipCode = address.ZipCode,
             *                    City = address.City,
             *                };*/

            List <FullContact> fullContacts = new List <FullContact> {
            };

            using (var context = this.RepositoryContext) {
                var query = from contact in context.Contacts
                            join child in context.Children on contact.Id equals child.ContactId
                            into ChildGroup
                            from c in ChildGroup.DefaultIfEmpty()
                            join address in context.Addresses on contact.Id equals address.ContactId
                            into AddressGroup
                            from a in AddressGroup.DefaultIfEmpty()
                            select new {
                    Contact = contact,
                    Address = a,
                    Child   = c
                };
                // Filters
                if (!string.IsNullOrEmpty(contactParameters.Gender))
                {
                    query = query.Where(q => q.Contact.Gender == contactParameters.Gender);
                }

                // Group by contact
                var grouping = query.ToLookup(q => q.Contact.Id);
                Console.WriteLine("Items Count: {0}", grouping.Count);

                foreach (var item in grouping)
                {
                    var fullContact = new FullContact()
                    {
                        FirstName = item.First().Contact.FirstName,
                        LastName  = item.First().Contact.LastName,
                        Gender    = item.First().Contact.Gender,
                        ZipCode   = item.First().Address == null ? 0 : item.First().Address.ZipCode,
                        City      = item.First().Address?.City,
                        Children  = new List <Child> {
                        }
                    };

                    foreach (var i in item)
                    {
                        if (i.Child != null)
                        {
                            fullContact.Children.Add(
                                new Child()
                            {
                                Name = i.Child.Name
                            }
                                );
                        }
                    }

                    fullContacts.Add(fullContact);
                }
            }

            return(fullContacts);
        }
Ejemplo n.º 17
0
        public bool InsertAddress(string identifier, string name, string address1, string address2, string address3,
                                  string city, string state, string zip, string email, string telephoneOffice, string telephoneMobile,
                                  string telephonePrivate, string telephoneFax, string groupName = "",
                                  int?latitudeInt = null, int?longitudeInt = null, AddressColor color = AddressColor.Unspecified)
        {
            var webService = new addressClient();

            var isLatLongProvided = latitudeInt.HasValue && longitudeInt.HasValue;

            AddressGroup addressGroup = null;

            if (groupName.Length > 0)
            {
                addressGroup = new AddressGroup()
                {
                    uniqueName = groupName
                };
            }

            var contact = new ContactData()
            {
                phoneMobile   = telephoneMobile,
                phoneBusiness = telephoneOffice,
                phonePersonal = telephonePrivate,
                emailAddress  = email
            };

            var geoPosition = new GeoPosition()
            {
                latitudeSpecified  = isLatLongProvided,
                longitudeSpecified = isLatLongProvided
            };

            if (isLatLongProvided)
            {
                geoPosition.latitude  = latitudeInt.Value;
                geoPosition.longitude = longitudeInt.Value;
            }

            var response = webService.insertAddress(
                GetAuthenticationParameters(),
                GetGeneralParameters(),
                new Address()
            {
                info      = string.Empty,
                addressNo = identifier,
                name1     = name,
                name2     = "",
                name3     = "",
                contact   = contact,
                location  = new DescribedLocation()
                {
                    city        = city,
                    street      = address1,
                    postcode    = zip,
                    addrRegion  = state,
                    geoPosition = geoPosition,
                },
                colourSpecified = true,
                colour          = GetAddressColour(color)
            },
                addressGroup);

            return(HandleResult(response));
        }
Ejemplo n.º 18
0
        public static NetworkInterface[] GetAllInterfaces()
        {
            ArrayList     allInterfaces = new ArrayList();
            StringBuilder errBuffer     = new StringBuilder(WinPcap.PCAP_ERRBUF_SIZE);
            IntPtr        pChain        = IntPtr.Zero;
            Int32         findResult;


            // Find all interfaces
            findResult = WinPcap.pcap_findalldevs_ex(WinPcap.PCAP_SRC_IF_STRING, IntPtr.Zero, ref pChain, errBuffer);

            //
            // Traverse linked list and get network interfaces
            //
            IntPtr pInterface = pChain;

            WinPcap.pcap_if_t i;
            NetworkInterface  netInterface;

            WinPcap.pcap_addr pcapAddr;
            WinPcap.sockaddr  sockAddr;
            ArrayList         addresses = new ArrayList();

            while ((Int32)pInterface != 0)
            {
                i = (WinPcap.pcap_if_t)Marshal.PtrToStructure(pInterface, typeof(WinPcap.pcap_if_t));

                netInterface             = new NetworkInterface();
                netInterface.Name        = i.Name;
                netInterface.Description = i.Description;

                #region Get all addresses of the interface
                IntPtr       pAddr;
                AddressGroup addrGroup;

                addresses.Clear();
                pAddr = i.addresses;

                while ((Int32)pAddr != 0)
                {
                    pcapAddr  = (WinPcap.pcap_addr)Marshal.PtrToStructure(pAddr, typeof(WinPcap.pcap_addr));
                    addrGroup = new AddressGroup();

                    // IP
                    if ((Int32)pcapAddr.addr != 0)
                    {
                        sockAddr             = (WinPcap.sockaddr)Marshal.PtrToStructure(pcapAddr.addr, typeof(WinPcap.sockaddr));
                        addrGroup.IP.Address = new IPAddress(sockAddr.addr);
                        addrGroup.IP.Port    = sockAddr.port;
                    }

                    // Subnet Mask
                    if ((Int32)pcapAddr.netmask != 0)
                    {
                        sockAddr = (WinPcap.sockaddr)Marshal.PtrToStructure(pcapAddr.netmask, typeof(WinPcap.sockaddr));
                        addrGroup.NetMask.Address = new IPAddress(sockAddr.addr);
                        addrGroup.NetMask.Port    = sockAddr.port;
                    }

                    // Broadcast Address
                    if ((Int32)pcapAddr.broadaddr != 0)
                    {
                        sockAddr = (WinPcap.sockaddr)Marshal.PtrToStructure(pcapAddr.broadaddr, typeof(WinPcap.sockaddr));
                        addrGroup.Broadcast.Address = new IPAddress(sockAddr.addr);
                        addrGroup.Broadcast.Port    = sockAddr.port;
                    }

                    // Destination Address
                    if ((Int32)pcapAddr.dstaddr != 0)
                    {
                        sockAddr = (WinPcap.sockaddr)Marshal.PtrToStructure(pcapAddr.dstaddr, typeof(WinPcap.sockaddr));
                        addrGroup.Destination.Address = new IPAddress(sockAddr.addr);
                        addrGroup.Destination.Port    = sockAddr.port;
                    }

                    addresses.Add(addrGroup);
                    pAddr = pcapAddr.next;
                }

                #endregion

                // Assign addresses to the network interface
                netInterface.Addresses = (AddressGroup[])addresses.ToArray(typeof(AddressGroup));

                // Add the Interface to the list of interfaces
                allInterfaces.Add(netInterface);

                // Go to next network interface
                pInterface = i.Next;
            }

            //
            // Clean up, return
            //
            WinPcap.pcap_freealldevs(pChain);
            return((NetworkInterface[])allInterfaces.ToArray(typeof(NetworkInterface)));
        }
 public RegisterGroupAction(string hash, Address target, AddressGroup addressGroup) : base(hash, target)
 {
     this.AddressGroup = addressGroup;
 }