예제 #1
0
        public ActionResult UpdateSalesPerson(SalesPersonModel model)
        {
            if (ModelState.IsValid)
            {
                List <DataLibrary.Models.SalesPersonModel> salespersons = SalesPersonProcessor.LoadSalesPerson();

                SalesPersonModel sessionModel = (SalesPersonModel)Session["SalespersonUpdateModel"];

                //recreating list without the session model in it.
                salespersons = salespersons.Where(s => s.SalesPersonID != sessionModel.SalesPersonID).ToList();

                //isolate(if any) duplicates
                salespersons = salespersons.Where(a => a.SalesPersonID == model.SalesPersonID || (a.FName == model.FName && a.LName == model.LName)).ToList();

                //if the session model's identifying variables are the same as the parameter model, then it is okay to update (same account, same update)
                //if the session model's identifying variables are NOT the same, then it is NOT okay to update (updating the current model to a duplicate that already exists)

                //checking to see if the session model is the same as the parameter model. If same, update, if not, proceed.
                if (sessionModel.FName == model.FName && sessionModel.LName == model.LName)
                {
                    //left as int for testing purposes
                    int recordsCreated = SalesPersonProcessor.UpdateSalesPerson(model.SalesPersonID, model.FName, model.LName,
                                                                                model.Address, model.Phone, model.StartDate, model.TerminationDate, model.Manager);
                    return(RedirectToAction("ViewSalesPerson"));
                }
                else
                {
                    //if duplicates exist, throw alert and deny update.
                    if (salespersons.Count() > 0)
                    {
                        TempData["DuplicateSalesperson"] = "You have entered a duplicate Salesperson, please enter a new salesperson.";
                        return(View());
                    }
                    else
                    {
                        //left as int for testing purposes
                        int recordsCreated = SalesPersonProcessor.UpdateSalesPerson(model.SalesPersonID, model.FName, model.LName,
                                                                                    model.Address, model.Phone, model.StartDate, model.TerminationDate, model.Manager);
                        return(RedirectToAction("ViewSalesPerson"));
                    }
                }
            }
            return(View());
        }
예제 #2
0
        public ActionResult UpdateSalesPerson(int SalesPersonID, string FName, string LName, string Address, string Phone, DateTime StartDate, DateTime TerminationDate, string Manager)
        {
            ViewBag.Message = "Update Salesperson page.";
            SalesPersonModel model = new SalesPersonModel
            {
                SalesPersonID   = SalesPersonID,
                FName           = FName,
                LName           = LName,
                Address         = Address,
                Phone           = Phone,
                StartDate       = StartDate.Date,
                TerminationDate = TerminationDate.Date,
                Manager         = Manager
            };

            Session["SalespersonUpdateModel"] = model;

            return(View(model));
        }
예제 #3
0
        public static int CreateSalesPerson(int SalesPersonID, string FName, string LName, string Address, string Phone, DateTime StartDate, DateTime TerminationDate, string Manager)
        {
            SalesPersonModel data = new SalesPersonModel
            {
                SalesPersonID   = SalesPersonID,
                FName           = FName,
                LName           = LName,
                Address         = Address,
                Phone           = Phone,
                StartDate       = StartDate,
                TerminationDate = TerminationDate,
                Manager         = Manager
            };

            string sql = @"insert into dbo.SalesPerson (SalesPersonID, FName, LName, Address, Phone, StartDate, TerminationDate, Manager )
                            values(@SalesPersonID, @FName, @LName, @Address, @Phone, @StartDate, @TerminationDate, @Manager);";


            return(SqlDataAccess.SaveData(sql, data));
        }
예제 #4
0
        public static int UpdateSalesPerson(int SalesPersonID, string FName, string LName, string Address, string Phone, DateTime StartDate, DateTime TerminationDate, string Manager)
        {
            SalesPersonModel data = new SalesPersonModel
            {
                SalesPersonID   = SalesPersonID,
                FName           = FName,
                LName           = LName,
                Address         = Address,
                Phone           = Phone,
                StartDate       = StartDate,
                TerminationDate = TerminationDate,
                Manager         = Manager
            };

            string sql = @"Update dbo.SalesPerson
                           Set FName = @FName, LName = @LName, Address = @Address, Phone = @Phone, StartDate = @StartDate, TerminationDate = @TerminationDate, Manager = @Manager
                           Where SalesPersonID = @SalesPersonID";


            return(SqlDataAccess.SaveData(sql, data));
        }
예제 #5
0
        public ActionResult CreateSalesPerson(SalesPersonModel model)
        {
            if (ModelState.IsValid)
            {
                List <DataLibrary.Models.SalesPersonModel> salespersons = SalesPersonProcessor.LoadSalesPerson();

                salespersons = salespersons.Where(a => a.SalesPersonID == model.SalesPersonID || (a.FName == model.FName && a.LName == model.LName)).ToList();

                if (salespersons.Count() > 0)
                {
                    TempData["DuplicateSalesperson"] = "You have entered a duplicate Salesperson, please enter a new salesperson.";
                    return(View());
                }
                else
                {
                    //left as int for testing purposes
                    int recordsCreated = SalesPersonProcessor.CreateSalesPerson(model.SalesPersonID, model.FName, model.LName,
                                                                                model.Address, model.Phone, model.StartDate, model.TerminationDate, model.Manager);
                    return(RedirectToAction("ViewSalesPerson"));
                }
            }
            return(View());
        }
        public void IntegrationTest()
        {
            var connection = TestSession.GetConnection();

            connection.Open();
            #region good insertion and select by id test
            SalesPersonModel inserted = new SalesPersonModel();
            inserted.BusinessEntityID = TestSession.Random.Next();
            inserted.TerritoryID      = TestSession.Random.Next();
            inserted.SalesQuota       = TestSession.Random.RandomDecimal();
            inserted.Bonus            = TestSession.Random.RandomDecimal();
            inserted.CommissionPct    = Convert.ToDecimal(TestSession.Random.Next());
            inserted.SalesYTD         = TestSession.Random.RandomDecimal();
            inserted.SalesLastYear    = TestSession.Random.RandomDecimal();
            inserted.rowguid          = Guid.NewGuid();
            inserted.ModifiedDate     = TestSession.Random.RandomDateTime();

            _tested.Insert(connection, new[] { inserted });

            var selectedAfterInsertion = _tested.GetByPrimaryKey(connection, new SalesPersonModelPrimaryKey()
            {
                BusinessEntityID = inserted.BusinessEntityID,
            });

            CollectionAssert.IsNotEmpty(selectedAfterInsertion);
            var selectedAfterInsert = selectedAfterInsertion.Single();
            Assert.AreEqual(inserted.BusinessEntityID, selectedAfterInsert.BusinessEntityID);
            Assert.AreEqual(inserted.TerritoryID, selectedAfterInsert.TerritoryID);
            Assert.AreEqual(inserted.SalesQuota, selectedAfterInsert.SalesQuota);
            Assert.AreEqual(inserted.Bonus, selectedAfterInsert.Bonus);
            Assert.AreEqual(inserted.CommissionPct, selectedAfterInsert.CommissionPct);
            Assert.AreEqual(inserted.SalesYTD, selectedAfterInsert.SalesYTD);
            Assert.AreEqual(inserted.SalesLastYear, selectedAfterInsert.SalesLastYear);
            Assert.AreEqual(inserted.rowguid, selectedAfterInsert.rowguid);
            Assert.AreEqual(inserted.ModifiedDate, selectedAfterInsert.ModifiedDate);

            #endregion

            #region update and select by id test
            inserted.TerritoryID   = TestSession.Random.Next();
            inserted.SalesQuota    = TestSession.Random.RandomDecimal();
            inserted.Bonus         = TestSession.Random.RandomDecimal();
            inserted.CommissionPct = Convert.ToDecimal(TestSession.Random.Next());
            inserted.SalesYTD      = TestSession.Random.RandomDecimal();
            inserted.SalesLastYear = TestSession.Random.RandomDecimal();
            inserted.rowguid       = Guid.NewGuid();
            inserted.ModifiedDate  = TestSession.Random.RandomDateTime();

            _tested.Update(connection, new[] { inserted });

            var selectedAfterUpdateAddresss = _tested.GetByPrimaryKey(connection, new SalesPersonModelPrimaryKey()
            {
                BusinessEntityID = inserted.BusinessEntityID,
            });

            CollectionAssert.IsNotEmpty(selectedAfterUpdateAddresss);
            var selectedAfterUpdate = selectedAfterUpdateAddresss.Single();
            Assert.AreEqual(inserted.BusinessEntityID, selectedAfterUpdate.BusinessEntityID);
            Assert.AreEqual(inserted.TerritoryID, selectedAfterUpdate.TerritoryID);
            Assert.AreEqual(inserted.SalesQuota, selectedAfterUpdate.SalesQuota);
            Assert.AreEqual(inserted.Bonus, selectedAfterUpdate.Bonus);
            Assert.AreEqual(inserted.CommissionPct, selectedAfterUpdate.CommissionPct);
            Assert.AreEqual(inserted.SalesYTD, selectedAfterUpdate.SalesYTD);
            Assert.AreEqual(inserted.SalesLastYear, selectedAfterUpdate.SalesLastYear);
            Assert.AreEqual(inserted.rowguid, selectedAfterUpdate.rowguid);
            Assert.AreEqual(inserted.ModifiedDate, selectedAfterUpdate.ModifiedDate);

            #endregion

            #region delete test
            _tested.Delete(connection, new[] { inserted });
            var selectedAfterDeleteAddresss = _tested.GetByPrimaryKey(connection, new SalesPersonModelPrimaryKey()
            {
                BusinessEntityID = inserted.BusinessEntityID,
            });
            CollectionAssert.IsEmpty(selectedAfterDeleteAddresss);
            #endregion
            connection.Close();
        }