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()); }
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)); }
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)); }
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)); }
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(); }