public ActionResult Save(Customers customer)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CustomerDataViewModel
                {
                    membershipTypes = _context.membershipTypes.ToList(),
                    customer        = customer
                };

                return(View("CustomerData", viewModel));
            }

            if (customer.customerId == 0)
            {
                _context.customers.Add(customer);
            }
            else
            {
                var customerDB = _context.customers.Single(c => c.customerId == customer.customerId);
                customerDB.customerName             = customer.customerName;
                customerDB.birthdate                = customer.birthdate;
                customerDB.isSubscripedToNewsletter = customer.isSubscripedToNewsletter;
                customerDB.membershipTypeId         = customer.membershipTypeId;
            }
            _context.SaveChanges();
            return(RedirectToAction("Index", "Customers"));
        }
Beispiel #2
0
        [ValidateAntiForgeryToken]         //Вся работа по созданию, расшифровке и сопоставления токенов лежит за кулисами MVC Framework
        public ActionResult Save(User user)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CustomerDataViewModel()
                {
                    User           = user,
                    MembershipType = _context.MembershipTypes.ToList()
                };

                return(View("CustomerForm", viewModel));
            }

            if (user.Id == 0)
            {
                _context.Users.Add(user);
            }
            else
            {
                var customerInDb = _context.Users.Single(u => u.Id == user.Id);

                customerInDb.Name                     = user.Name;
                customerInDb.DateOfBirthDay           = user.DateOfBirthDay;
                customerInDb.MembershipTypeId         = user.MembershipTypeId;
                customerInDb.IsSubscribedToNewsletter = user.IsSubscribedToNewsletter;

                //Открывает новые дыры в защите
                //TryUpdateModel(customerInDb, "", new string[] {"Name", "Email"});//Обновление только Name и Email. Проблема в том, что если изменить названия свойств,
                //а здесь забыть, то программа не будет работать
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "Users"));
        }
Beispiel #3
0
        private void CustomerDataVMInitializer(CustomerDataViewModel model)
        {
            var citiesList = _dbContext.Cities.ToList();
            var cities     = new SelectList(citiesList, "CityId", "City");

            model.Cities = cities;
        }
Beispiel #4
0
        public IActionResult CustomerForm()
        {
            var model = new CustomerDataViewModel();

            CustomerDataVMInitializer(model);
            return(View(model));
        }
        public ActionResult Edit(int id)
        {
            var viewModel = new CustomerDataViewModel
            {
                membershipTypes = _context.membershipTypes.ToList(),
                customer        = _context.customers.SingleOrDefault(c => c.customerId == id)
            };

            return(View("CustomerData", viewModel));
        }
        public ActionResult New()
        {
            var viewModel = new CustomerDataViewModel
            {
                membershipTypes = _context.membershipTypes.ToList(),
                customer        = new Customers()
            };

            return(View("CustomerData", viewModel));
        }
Beispiel #7
0
        private void OnNavBarButtonClick(object sender, EventArgs e)
        {
            // Check if a customer window exists already
            if (!_ci.WindowManager.ExistsWindow<ICustomerDataView>()) {
                ICustomerDataView customerView = CustomerFactories.CustomerDataViewFactory.CreateCustomerView();
                CustomerDataViewModel viewModel = new CustomerDataViewModel(customerView);

                _ci.WindowManager.RegisterWindow(customerView);
            } else
                _ci.WindowManager.BringWindowToFront<ICustomerDataView>();
        }
Beispiel #8
0
 public static Customer Map(CustomerDataViewModel c)
 {
     return(new Customer
     {
         ObjectId = c.ObjectId,
         TimestampUtc = c.TimestampUtc,
         FirstName = c.FirstName,
         MiddleName = c.MiddleName,
         LastName = c.LastName,
     });
 }
Beispiel #9
0
 public void SetCustomer(CustomerDataViewModel model)
 {
     _customer = model.Customer;
     if (model.NeedDelivery)
     {
         var deliveryInfo = model.DeliveryInfo;
         deliveryInfo.Date       = DateTime.Now.Add(new TimeSpan(15, 0, 0, 0));
         deliveryInfo.EmployeeId = 1;
         deliveryInfo.Status     = 0;
         _order.DelieveryInfo.Add(deliveryInfo);
     }
 }
Beispiel #10
0
        public ActionResult New()
        {
            var membershipTypes = _context.MembershipTypes.ToList();

            var modelView = new CustomerDataViewModel()
            {
                User           = new User(),
                MembershipType = membershipTypes
            };

            return(View("CustomerForm", modelView));
        }
Beispiel #11
0
 public IActionResult CustomerForm(CustomerDataViewModel model)
 {
     if (!model.NeedDelivery)
     {
         ModelState["DeliveryInfo.Adress"].ValidationState = ModelValidationState.Skipped;
     }
     if (ModelState.IsValid)
     {
         _orderCreator.SetCustomer(model);
         _orderCreator.CreateOrder(_dbContext);
         return(RedirectToAction("SuccessOrder"));
     }
     CustomerDataVMInitializer(model);
     return(View(model));
 }
Beispiel #12
0
        private void OnNavBarButtonClick(object sender, EventArgs e)
        {
            // Check if a customer window exists already
            if (!_ci.WindowManager.ExistsWindow <ICustomerDataView>())
            {
                ICustomerDataView     customerView = CustomerFactories.CustomerDataViewFactory.CreateCustomerView();
                CustomerDataViewModel viewModel    = new CustomerDataViewModel(customerView);

                _ci.WindowManager.RegisterWindow(customerView);
            }
            else
            {
                _ci.WindowManager.BringWindowToFront <ICustomerDataView>();
            }
        }
        public CustomersView()
        {
            InitializeComponent();

            TC_Act.Content = CustomerDataViewModel.TotalCustActive();
            TC_Dor.Content = CustomerDataViewModel.TotalCustDormant();
            TC_Tot.Content = CustomerDataViewModel.TotalCustTotal();

            NC_Today.Content = CustomerDataViewModel.NewCustToday();
            NC_Week.Content  = CustomerDataViewModel.NewCustWeek();
            NC_Month.Content = CustomerDataViewModel.NewCustMonth();
            NC_Year.Content  = CustomerDataViewModel.NewCustYear();

            AAL_Act.Content = CustomerDataViewModel.LifeSpanActive();
            AAL_Dor.Content = CustomerDataViewModel.LifeSpanDormant();
            AAL_Tot.Content = CustomerDataViewModel.LifeSpanTotal();
        }
Beispiel #14
0
        public ActionResult Edit(int id)
        {
            var user = _context.Users.Include(u => u.MembershipType).SingleOrDefault(u => u.Id == id);

            if (user == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new CustomerDataViewModel()
            {
                User           = user,
                MembershipType = _context.MembershipTypes.ToList()
            };

            return(View("CustomerForm", viewModel));
        }
Beispiel #15
0
        public void BindViewToModel(CustomerDataViewModel model)
        {
            viewModel = model;
            bindingSource.DataSource = viewModel;

            BindingHelper.SetBinding(txtCustomerNumber, "Text", bindingSource, "CustomerNumber", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtLastname, "Text", bindingSource, "Lastname", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtFirstname, "Text", bindingSource, "Firstname", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtStreet, "Text", bindingSource, "Street", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtHousenumber, "Text", bindingSource, "Housenumber", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtCity, "Text", bindingSource, "City", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtZipCode, "Text", bindingSource, "ZipCode", true, DataSourceUpdateMode.OnPropertyChanged);
            BindingHelper.SetBinding(txtPhone, "Text", bindingSource, "Phone", true, DataSourceUpdateMode.OnPropertyChanged);

            ResetCustomersDataSource();

            BindingHelper.SetBinding(cmbAllCustomers, "SelectedValue", bindingSource, "Customer", true, DataSourceUpdateMode.OnPropertyChanged);
            // subWindowContainer = new CustomerTabSubWindowContainer(pluginTabControl, viewModel);
            // CustomerDataRegistry.Instance.CoreInterface.PluginManager.InvokeNewDatasetAssignedEvent<Core.Model.Customer>(subWindowContainer);
        }
        public ActionResult Create(CustomerDataViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.File != null)
                {
                    //string pic = string.Concat(String.Format("{0:s}", DateTime.Now), Path.GetFileName(model.File.FileName));
                    string pic     = Path.GetFileName(model.File.FileName);
                    string dirPath = Server.MapPath("~/images/");
                    if (!System.IO.Directory.Exists(dirPath))
                    {
                        System.IO.Directory.CreateDirectory(dirPath);
                    }

                    string path = Path.Combine(
                        Server.MapPath("~/images"), pic);

                    //Save the image
                    model.File.SaveAs(path);

                    using (MemoryStream ms = new MemoryStream())
                    {
                        model.File.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }

                    model.CustomerDatas.Image           = new Image();
                    model.CustomerDatas.Image.ImageName = model.File.FileName;
                }

                db.CustomerDatas.Add(model.CustomerDatas);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
 public CustomerDataPage()
 {
     InitializeComponent();
     BindingContext = new CustomerDataViewModel();
 }