Beispiel #1
0
        public ActionResult Customers_Update([DataSourceRequest] DataSourceRequest request, CustomerViewModel customerViewModel)
        {
            db.DisableAllFilters();

            if (ModelState.IsValid)
            {
                using (var db = new NovaAdminContext())
                {
                    Customer entity = db.Customers.Include(customer => customer.Address).FirstOrDefault(c => c.Id == customerViewModel.Id);
                    if (entity == null)
                    {
                        string errorMessage = string.Format("Cannot update record with OrderID:{0} as it's not available.", customerViewModel.Id);
                        ModelState.AddModelError("", errorMessage);
                    }
                    else
                    {
                        CustomerViewModelCustomerMapper.MapCustomerForUpdate(customerViewModel, entity, entity.Address);
                        db.Customers.Attach(entity);
                        db.Entry(entity).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            return(Json(new[] { customerViewModel }.ToDataSourceResult(request, ModelState)));
        }
Beispiel #2
0
        public async Task <ActionResult> Edit([Bind(Include = "Id,Name,DateOfBirth,Gender,Category,HouseNumber,AddressLine1")] CustomerViewModel customerViewModel)
        {
            if (ModelState.IsValid)
            {
                using (var db = new NovaAdminContext())
                {
                    Customer entity = await db.Customers.Include(customer => customer.Address).FirstOrDefaultAsync(c => c.Id == customerViewModel.Id);

                    if (entity == null)
                    {
                        string errorMessage = string.Format("Cannot update record with OrderID:{0} as it's not available.", customerViewModel.Id);
                        ModelState.AddModelError("", errorMessage);
                    }
                    else
                    {
                        CustomerViewModelCustomerMapper.MapCustomerForUpdate(customerViewModel, entity, entity.Address);
                        db.Customers.Attach(entity);
                        db.Entry(entity).State = EntityState.Modified;
                        db.SaveChangesAsync();
                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(View(customerViewModel));
        }
        public void Setup()
        {
            DbConnection connection = Effort.DbConnectionFactory.CreateTransient();

            TestContext = new NovaAdminContext();
            LocationAnalyticsService = new LocationAnalyticsServices();
        }
Beispiel #4
0
        public Customer PutCustomer(int id, Customer customer)
        {
            if (id != customer.Id)
            {
                throw new ArgumentException("Id");
            }

            Customer disconnectedCustomer;

            using (var context = new NovaAdminContext())
            {
                context.Configuration.ProxyCreationEnabled = false;
                disconnectedCustomer = context.Customers.Where(c => c.Id == id).Include(c => c.Address).FirstOrDefault <Customer>();
            }

            disconnectedCustomer.Gender      = customer.Gender;
            disconnectedCustomer.Name        = customer.Name;
            disconnectedCustomer.Category    = customer.Category;
            disconnectedCustomer.DateOfBirth = customer.DateOfBirth;

            disconnectedCustomer.Address.Id           = customer.AddressId;
            disconnectedCustomer.Address.AddressLine1 = customer.Address.AddressLine1;
            disconnectedCustomer.Address.HouseNumber  = customer.Address.HouseNumber;
            disconnectedCustomer.Address.StateId      = customer.Address.StateId;

            using (var newContext = new NovaAdminContext())
            {
                newContext.Entry(disconnectedCustomer).State         = EntityState.Modified;
                newContext.Entry(disconnectedCustomer.Address).State = EntityState.Modified;
                newContext.SaveChanges();
            }

            return(disconnectedCustomer);
        }
Beispiel #5
0
        public Customer DeleteCustomer(int id)
        {
            Customer disconnectedCustomer;

            using (var context = new NovaAdminContext())
            {
                context.Configuration.ProxyCreationEnabled = false;
                disconnectedCustomer = context.Customers.Where(c => c.Id == id).Include(c => c.Address.State.Country).FirstOrDefault <Customer>();
            }

            if (disconnectedCustomer == null)
            {
                throw new ArgumentException("Id");
            }

            using (var newContext = new NovaAdminContext())
            {
                newContext.Entry(disconnectedCustomer).State = System.Data.Entity.EntityState.Deleted;
                newContext.SaveChanges();
            }

            disconnectedCustomer.IsDeleted = true;

            return(disconnectedCustomer);
        }
Beispiel #6
0
 public ActionResult Customers_Create([DataSourceRequest] DataSourceRequest request, CustomerViewModel customerViewModel)
 {
     if (ModelState.IsValid)
     {
         using (var db = new NovaAdminContext())
         {
             var entity = CustomerViewModelCustomerMapper.MapCustomerForCreate(customerViewModel);
             db.Customers.Add(entity);
             db.SaveChanges();
             customerViewModel.Id        = entity.Id;
             customerViewModel.AddressId = entity.AddressId;
         }
     }
     return(Json(new[] { customerViewModel }.ToDataSourceResult(request, ModelState)));
 }
Beispiel #7
0
        public JsonResult GetCustomersForAutoComplete(string text)
        {
            var db = new NovaAdminContext();

            var customers = db.Customers.Select(customer => new CustomerAutoCompleteViewModel
            {
                Id   = customer.Id,
                Name = customer.Name
            });

            if (!string.IsNullOrEmpty(text))
            {
                customers = customers.Where(c => c.Name.StartsWith(text)).Take(5);
            }

            return(Json(customers, JsonRequestBehavior.AllowGet));
        }
        public void Seed(NovaAdminContext context)
        {
            #region Countries

            context.Countries.Add(new CountryRegion
            {
                Id   = 1,
                Name = "United States"
            });

            context.Countries.Add(new CountryRegion
            {
                Id   = 2,
                Name = "South Africa"
            });

            #endregion

            #region States

            context.States.Add(new State
            {
                Id        = 1,
                Name      = "New York",
                CountryId = 1
            });


            context.States.Add(new State
            {
                Id        = 2,
                Name      = "California",
                CountryId = 1
            });

            context.States.Add(new State
            {
                Id        = 3,
                Name      = "Western Cape",
                CountryId = 2
            });

            #endregion

            #region Customers

            context.Customers.Add(new Customer
            {
                Id          = 1,
                Name        = "Customer 1",
                DateOfBirth = DateTime.Today.AddDays(-1),
                Category    = Category.CategoryA,
                Gender      = Gender.Female,
                AddressId   = 1
            });

            context.Customers.Add(new Customer
            {
                Id          = 2,
                Name        = "Customer 2",
                DateOfBirth = DateTime.Today.AddDays(-2),
                Category    = Category.CategoryA,
                Gender      = Gender.Female,
                AddressId   = 2
            });

            context.Customers.Add(new Customer
            {
                Id          = 3,
                Name        = "Customer 3",
                DateOfBirth = DateTime.Today.AddDays(-3),
                Category    = Category.CategoryB,
                Gender      = Gender.Male,
                AddressId   = 3
            });

            context.Customers.Add(new Customer
            {
                Id          = 4,
                Name        = "Customer 4",
                DateOfBirth = DateTime.Today.AddDays(-4),
                Category    = Category.CategoryB,
                Gender      = Gender.Unknown,
                AddressId   = 4
            });

            context.Customers.Add(new Customer
            {
                Id          = 5,
                Name        = "Customer 5",
                DateOfBirth = DateTime.Today.AddDays(-5),
                Category    = Category.CategoryC,
                Gender      = Gender.Female,
                AddressId   = 5
            });

            context.Customers.Add(new Customer
            {
                Id          = 6,
                Name        = "Customer 6",
                DateOfBirth = DateTime.Today.AddDays(-5),
                Category    = Category.CategoryC,
                Gender      = Gender.Female,
                AddressId   = 6
            });

            #endregion

            #region Addresses

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 1 line 1",
                Id           = 1,
                IsDeleted    = false,
                HouseNumber  = 1,
                StateId      = 1
            });

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 2 line 2",
                Id           = 2,
                IsDeleted    = false,
                HouseNumber  = 2,
                StateId      = 2
            });

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 3 line 3",
                Id           = 3,
                IsDeleted    = false,
                HouseNumber  = 3,
                StateId      = 2
            });

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 4 line 4",
                Id           = 4,
                IsDeleted    = false,
                HouseNumber  = 4,
                StateId      = 2
            });

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 5 line 5",
                Id           = 5,
                IsDeleted    = false,
                HouseNumber  = 5,
                StateId      = 2
            });

            context.Addresses.Add(new Address
            {
                AddressLine1 = "Test Address 6 line 6",
                Id           = 6,
                IsDeleted    = false,
                HouseNumber  = 6,
                StateId      = 3
            });

            #endregion

            context.SaveChanges();
        }