public async Task <IActionResult> Create(Supplier supplier, IFormCollection collection)
        {
            var contacts      = collection["hddContacts"].ToString();
            var listContacts  = JsonConvert.DeserializeObject <List <lContacts> >(contacts).ToList();
            var coloniaId     = int.Parse(collection["ddColonia"].ToString());
            var colonia       = _context.Neighborhoods.Include(c => c.City).ThenInclude(s => s.State).ThenInclude(c => c.Country).FirstOrDefault(n => n.Id == coloniaId);
            var paymentMethod = _context.PaymentMethods.FirstOrDefault(p => p.Id == int.Parse(collection["PaymentMethod"].ToString()));
            var currency      = _context.Currencies.FirstOrDefault(p => p.Id == int.Parse(collection["Currency"].ToString()));
            var neighborhood  = _context.Neighborhoods.Include(i => i.City).ThenInclude(s => s.State).ThenInclude(c => c.Country).FirstOrDefault(i => i.Id == int.Parse(collection["ddColonia"].ToString()));
            //Create address
            var address = new Address()
            {
                Street         = collection["txtStreet"].ToString(),
                ExternalNumber = collection["txtExternalNumber"].ToString(),
                InternalNumber = collection["txtInternalNumber"].ToString(),
                Neighborhood   = neighborhood,
                Active         = true,
                Created        = DateTime.Now,
                CreatedBy      = UserLogged,
                Modified       = DateTime.Now,
                ModifiedBy     = UserLogged
            };

            //Create contacts
            foreach (var item in listContacts)
            {
                var contactType = _context.ContactTypes.FirstOrDefault(c => c.Id == item.ContactTypeId);
                var contact     = new SupplierContact()
                {
                    ContactName = item.ContactName,
                    ContactType = contactType,
                    Description = item.Description,
                    Created     = DateTime.Now,
                    CreatedBy   = UserLogged,
                    Modified    = DateTime.Now,
                    ModifiedBy  = UserLogged
                };
                supplier.AddContact(contact);
            }
            //Fill general data
            supplier.PaymentMethod = paymentMethod;
            supplier.Currency      = currency;
            supplier.Address       = address;
            supplier.Active        = true;
            supplier.Created       = DateTime.Now;
            supplier.CreatedBy     = UserLogged;
            supplier.Modified      = DateTime.Now;
            supplier.ModifiedBy    = UserLogged;
            _context.Add(supplier);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }