public HttpResponseMessage Post(Customer newCustomer)
        {
            try
            {
                var newRecord = new Customer
                {
                    Name           = newCustomer.Name,
                    Address        = newCustomer.Address,
                    Phone_number   = newCustomer.Phone_number,
                    Email          = newCustomer.Email,
                    Password       = newCustomer.Password,
                    Balance        = newCustomer.Balance,
                    Account_number = newCustomer.Account_number,
                    ImagePath      = newCustomer.ImagePath,
                    Gender         = newCustomer.Gender,
                    BirthDate      = newCustomer.BirthDate
                };


                _db.Customers.Add(newRecord);
                _db.SaveChanges();
                return(Request.CreateErrorResponse(HttpStatusCode.OK,
                                                   "Customer added sucessfully"));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest,
                                                   $"Something went wrong. Problem description : {e.Message}"));
            }
        }
        public IHttpActionResult PutCustomer(int id, Customer customer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != customer.Id)
            {
                return(BadRequest());
            }

            db.Entry(customer).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CustomerExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#3
0
        public ActionResult Delete(int id)
        {
            var customer = db.Customers.Find(id);

            db.Customers.Remove(customer);
            db.SaveChanges();
            return(RedirectToAction("index"));
        }
示例#4
0
        public ActionResult Create([Bind(Include = "CustomerID,Name,phonenumber,Email,DeliveryAddress")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                db.Customers.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
示例#5
0
        public ActionResult Create([Bind(Include = "CategoryId,CategoryName,CategoryDescription")] Category category)
        {
            if (ModelState.IsValid)
            {
                db.Categories.Add(category);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(category));
        }
示例#6
0
        public ActionResult Create([Bind(Include = "ID,LastName,FirstName,Address,Age")] Customers customers)
        {
            if (ModelState.IsValid)
            {
                db.Cust.Add(customers);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customers));
        }
示例#7
0
        public ActionResult Create([Bind(Include = "CustomerID,FirstName,LastName,CustomerAge,Phone,DrinkID,DrinkType")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                db.customer.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
示例#8
0
        public ActionResult Create([Bind(Include = "CustomerID,name,surname,email,password,dob,phone_number")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                db.customers.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
示例#9
0
        public ActionResult Create(CustomerModel customermodel)
        {
            if (ModelState.IsValid)
            {
                db.Customers.Add(customermodel);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customermodel));
        }
示例#10
0
        public ActionResult Create([Bind(Include = "ID,Name,Email,Phone,BirthDate")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                db.Customers.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
示例#11
0
        public ActionResult Create([Bind(Include = "Id,ProductName,Price,Description,CategoryId")] Product product)
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryId = new SelectList(db.Categories, "CategoryId", "CategoryName", product.CategoryId);
            return(View(product));
        }
示例#12
0
        public int Add(Entity.Customer customer)
        {
            if (customer.Id == 0)
            {
                // to support In memory database primary key constraint
                customer.Id = _context.Customers.Select(x => x.Id).Max() + 1;

                _context.Customers.Add(customer);
                _context.SaveChanges();
            }
            return(customer.Id);
        }
示例#13
0
        public bool Add(Customer customer)
        {
            int isExecuted = 0;

            db.Customers.Add(customer);
            isExecuted = db.SaveChanges();
            if (isExecuted > 0)
            {
                return(true);
            }

            return(false);
        }
示例#14
0
        public ActionResult Create([Bind(Include = "Guid,FullName,DateCreated,Amount,Ref")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                customer.Guid        = Guid.NewGuid();
                customer.DateCreated = DateTime.Now;
                db.Customers.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
示例#15
0
        public ActionResult Authorization(Customer customer)
        {
            using (CustomerDBContext db = new CustomerDBContext()) {
                var selectedCustomer = db.Customers.Where(c => c.CustomerID == (int)customer.CustomerID).FirstOrDefault();

                if (!ModelState.IsValid)
                {
                    return(View("Index", customer));
                }
                else
                {
                    if (selectedCustomer == null)
                    {
                        ModelState.AddModelError("CustomerID", "Customer doesn't exist");
                        return(View("Index"));
                    }
                    else
                    {
                        bool isAccountBlocked = CheckIfAccountIsBlocked(selectedCustomer);

                        if (isAccountBlocked)
                        {
                            ModelState.AddModelError("CustomerID", "Account has been blocked");
                            return(View("Index"));
                        }
                        else
                        {
                            var selectedCustomerWithPassword = db.Customers.Where(c => c.CustomerID == customer.CustomerID && c.Password == customer.Password).FirstOrDefault();

                            if (selectedCustomerWithPassword == null)
                            {
                                selectedCustomer.IncorrectLogins += 1;
                                db.SaveChanges();
                                ModelState.AddModelError("CustomerID", "Incorrect login/password");
                                return(View("Index"));
                            }
                            else
                            {
                                selectedCustomer.IncorrectLogins = 0;
                                db.SaveChanges();
                                Session["userID"] = selectedCustomer.CustomerID;
                                return(RedirectToAction("Index", "Home"));
                            }
                        }
                    }
                }
            }
        }
示例#16
0
        public ActionResult Save(Movie movie)
        {
            var genries = _dBContext.Genres.ToList();

            if (!ModelState.IsValid)
            {
                var viewModel = new NewMovieViewModel
                {
                    Genres = genries
                };

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

            if (movie.Id == 0)
            {
                _dBContext.Movies.Add(movie);
            }
            else
            {
                var movieInDb = _dBContext.Movies.Single(c => c.Id == movie.Id);

                movieInDb.Name       = movie.Name;
                movieInDb.RelaseDate = movie.RelaseDate;
                movieInDb.GenreId    = movie.GenreId;
            }

            _dBContext.SaveChanges();


            return(RedirectToAction("Index", "Movie"));
        }
示例#17
0
        [HttpPost]                                  //if actions are modifying data they should never get access by httpget method
        public ActionResult Save(Customer customer) //request data(the data we filled) mapped to model here its customer - model binding
        {
            //if (!ModelState.IsValid)
            //{

            //    var viewModel = new CustomerFormViewModel
            //    {
            //    }
            //    return View("viewModel");
            //}

            if (customer.Id == 0)
            {
                _context.Customers.Add(customer);  //here we just store the data in memory not database. context change tracking mechanism idetifies modification and runs the corresponidng sql queries on database
            }
            else
            {
                var customerInDb = _context.Customers.Single(c => c.Id == customer.Id);
                customerInDb.Name                     = customer.Name;
                customerInDb.Birthdate                = customer.Birthdate;
                customerInDb.MembershipTypeId         = customer.MembershipTypeId;
                customerInDb.IsSubscribedToNewsLetter = customer.IsSubscribedToNewsLetter;
            }
            _context.SaveChanges();     //changes are saved in form of transaction (ALL or NOTHING)
            return(RedirectToAction("Index", "Customer"));
        }
示例#18
0
        public ActionResult Save(Movie movie)
        {
            if (movie.Id == 0)
            {
                _context.Movies.Add(movie);
            }
            else
            {
                var movieInContextDb = _context.Movies.Single(m => m.Id == movie.Id);

                movieInContextDb.Name = movie.Name;
                movieInContextDb.NoOfStockAvailable = movie.NoOfStockAvailable;
                movieInContextDb.ReleaseDate        = movie.ReleaseDate;
                movieInContextDb.GenreType          = movie.GenreType;
            }

            try

            {
                _context.SaveChanges();
            }

            catch (DbEntityValidationException e) //deep dive exceptions
            {
                Console.WriteLine(e);
            }
            return(RedirectToAction("Index", "Movies"));
        }
        public static void Seed(this CustomerDBContext dbContext)
        {
            dbContext.CustomerList.Add(new Customer {
                FirstName = "John", LastName = "Smith", DateOfBirth = System.DateTime.Now.Date.AddYears(-10)
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Nancy", LastName = "Davolio", DateOfBirth = System.DateTime.Now.Date.AddYears(-20)
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Andrew", LastName = "Fuller", DateOfBirth = DateTime.Parse("1963-08-30")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Janet", LastName = "Leverling", DateOfBirth = DateTime.Parse("1937-09-19")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Margaret", LastName = "Peacock", DateOfBirth = DateTime.Parse("1955-03-04")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Steven", LastName = "Buchanan", DateOfBirth = DateTime.Parse("1963-07-02")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Michael", LastName = "Suyama", DateOfBirth = DateTime.Parse("1960-05-29")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Robert", LastName = "King", DateOfBirth = DateTime.Parse("1958-01-09")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Laura", LastName = "Callahan", DateOfBirth = DateTime.Parse("1966-01-27")
            });
            dbContext.CustomerList.Add(new Customer {
                FirstName = "Anne", LastName = "Dodsworth", DateOfBirth = DateTime.Parse("1948-12-08")
            });

            dbContext.SaveChanges();
        }
示例#20
0
        /// <summary>
        /// Add Test Data to In Memory DB
        /// </summary>
        private void SeedInMemoryDB()
        {
            var testCustomers = new List <Customer>()
            {
                new Customer {
                    NumberOfEmployees = 10, Title = "Vouala", CustomerContact =
                        new CustomerContact {
                        Email = "*****@*****.**", FirstName = "Chris", LastName = "Bidis"
                    }
                },
                new Customer {
                    NumberOfEmployees = 100, Title = "MyAndMySelf", CustomerContact =
                        new CustomerContact {
                        Email = "*****@*****.**", FirstName = "Me", LastName = "You"
                    }
                },
                new Customer {
                    NumberOfEmployees = 0, Title = "HolyDiver", CustomerContact =
                        new CustomerContact {
                        Email = "*****@*****.**", FirstName = "Ronnie", LastName = "Dio"
                    }
                }
            };

            _inMemoryDB.AddRange(testCustomers);
            _inMemoryDB.SaveChanges();
        }
        public ActionResult MakeTransfer(Payment payment)
        {
            int userID = Convert.ToInt32(System.Web.HttpContext.Current.Session["userID"]);

            if (!ModelState.IsValid)
            {
                return(View("Transfer", payment));
            }
            else
            {
                using (CustomerDBContext db = new CustomerDBContext()) {
                    var customer = db.Customers.Where(c => c.CustomerID == userID).FirstOrDefault();

                    if (payment.Amount > customer.Balance)
                    {
                        ModelState.AddModelError("Amount", "Payment amount exceeded balance");
                        return(View("Transfer"));
                    }
                    else
                    {
                        checkInternalTransfer(customer, payment);

                        customer.Balance  -= payment.Amount;
                        payment.CustomerID = userID;
                        payment.Amount     = payment.Amount * (-1);
                        db.Payments.Add(payment);
                        db.SaveChanges();
                        ModelState.Clear();
                    }
                }

                return(View("Transfer"));
            }
        }
示例#22
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var dbContext = new CustomerDBContext(
                       serviceProvider.GetRequiredService <DbContextOptions <CustomerDBContext> >()))
            {
                if (!dbContext.Customers.Any())
                {
                    dbContext.Customers.AddRange(new[]
                    {
                        new Customer()
                        {
                            FirstName = "Syed", LastName = "Majeeduddin", DOB = DateTime.Now.AddYears(-25)
                        },
                        new Customer()
                        {
                            FirstName = "John", LastName = "Alexander", DOB = DateTime.Now.AddYears(-35)
                        },
                        new Customer()
                        {
                            FirstName = "Trent", LastName = "Smith", DOB = DateTime.Now.AddYears(-56)
                        }
                    });
                }

                dbContext.SaveChanges();
            }
        }
        public ActionResult OrderCard()
        {
            int userID = Convert.ToInt32(System.Web.HttpContext.Current.Session["userID"]);

            var activeCard = customerDB.Cards.Where(c => c.CustomerID == userID && c.IsActive == true).FirstOrDefault();

            if (activeCard != null)
            {
                ModelState.AddModelError("CardID", "Customer has active card. Deactivate first");
                return(View("Card", activeCard));
            }
            else
            {
                using (CustomerDBContext db = new CustomerDBContext()) {
                    Card newCard = new Card {
                        IsActive   = true,
                        CustomerID = userID
                    };

                    db.Cards.Add(newCard);
                    db.SaveChanges();
                }

                return(RedirectToAction("Card"));
            }
        }
示例#24
0
        public JsonResult AddCustomer(Customer customer)
        {
            var result = false;

            try
            {
                db.Customers.Add(customer);
                db.SaveChanges();
                result = true;
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult AddStore(Store store)
        {
            var result = false;

            try
            {
                db.Stores.Add(store);
                db.SaveChanges();
                result = true;
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#26
0
        public IHttpActionResult CreateCustomer(CustomerDto customerDto)
        {
            if (!ModelState.IsValid)
            {
                //throw new HttpResponseException(HttpStatusCode.BadRequest);
                return(BadRequest());
            }

            var customer = Mapper.Map <CustomerDto, Customer>(customerDto);

            _dBContext.Customers.Add(customer);
            _dBContext.SaveChanges();

            customerDto.Id = customer.Id;

            return(Created(new Uri(Request.RequestUri + "/" + customer.Id), customerDto));
        }
示例#27
0
 //        [Route("Add")]
 public IActionResult Post([FromBody] Customer customer)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest(ModelState));
         }
         customerDBCntxt.Customers.Add(customer);
         customerDBCntxt.SaveChanges(true);
         return(StatusCode(StatusCodes.Status201Created));
     }
     catch (Exception e)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
     }
 }
示例#28
0
        public JsonResult AddProduct(Product product)
        {
            var result = false;

            try
            {
                db.Products.Add(product);
                db.SaveChanges();
                result = true;
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ChosenDropDown(Customers cus)
        {
            SelectedCustomer sc  = new SelectedCustomer();
            string           con = string.Join(",", cus.CustomersArray.ToArray());

            sc.AllCustomers = con;
            db.SelectedCustomers.Add(sc);
            db.SaveChanges();
            return(RedirectToAction("ChosenDropDown"));
        }
示例#30
0
        // GET: Customers/DeleteALl/5
        public ActionResult DeleteAll(string confirmButton)
        {
            using (var context = new CustomerDBContext())
            {
                var itemsToDelete = context.Set <Customer>();
                context.Customers.RemoveRange(itemsToDelete);
                context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }