public ActionResult Create(PrivateTrip PTrip, string searchString = "")
        {
            ViewBag.JSDatePattern = MvcApplication.JSDatePattern;
            ViewBag.SearchString  = searchString;
            PrivateTrip privateTrip = PTrip;

            if (ModelState.IsValid)
            {
                Visa visa = repository.Visas.Where(v => v.EmployeeID == privateTrip.EmployeeID).FirstOrDefault();
                if (visa != null)
                {
                    visa.DaysUsedInPrivateTrips += CountingDaysUsedInPT(privateTrip);
                    visa.EntriesUsedInPrivateTrips++;

                    repository.SaveVisa(visa, visa.EmployeeID);
                }
                repository.SavePrivateTrip(privateTrip);
                //return RedirectToAction("BTMView", "Home", new { tab = 2, searchString = searchString });
                List <Employee> emplist = SearchPrivateTripData(repository.Employees.ToList(), searchString);
                return(View("TableViewPTBTM", emplist));
            }

            PrivateTripViewModel pTripModel = new PrivateTripViewModel(privateTrip);

            return(View(pTripModel));
        }
 public PrivateTripViewModel(PrivateTrip privateTrip)
 {
     PrivateTripID = privateTrip.PrivateTripID;
     StartDate     = String.Format("{0:d}", privateTrip.StartDate);
     EndDate       = String.Format("{0:d}", privateTrip.EndDate);
     EmployeeID    = privateTrip.EmployeeID;
     VisaOf        = privateTrip.PrivateTripOf;
     RowVersion    = privateTrip.RowVersion;
 }
        public PrivateTrip DeletePrivateTrip(int ptID)
        {
            PrivateTrip dbEntry = PrivateTrips.Where(p => p.PrivateTripID == ptID).SingleOrDefault();

            if (dbEntry != null)
            {
                context.PrivateTrips.Remove(dbEntry);
            }

            context.SaveChanges();

            return(dbEntry);
        }
        public void PrivateTripEdit()
        {
            int beforeEditPrivateTrip = 0;
            int afterEditPrivateTrip  = 0;

            IWebElement elemToEdit = Browser.FindElementByXPath("//tbody[@id='PTViewBody']/tr").FindElement(By.CssSelector("[href*='/BTM/PrivateTripEdit/8?searchString=']"));

            Browser.ClickOnWebElement(elemToEdit);
            Thread.Sleep(Timings.Default_ms * 20);

            using (var db = new AjourBTForTestContext())
            {
                beforeEditPrivateTrip = db.PrivateTrips.Count();
            }

            IWebElement editStatDatePT = Browser.FindElementByXPath("//*[@id='editStartDatePT'] ");
            IWebElement editEndDatePT  = Browser.FindElementByXPath("//*[@id='editEndDatePT'] ");

            ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('editStartDatePT').removeAttribute('readonly')");
            ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('editEndDatePT').removeAttribute('readonly')");
            Thread.Sleep(Timings.Default_ms * 20);
            Browser.SendKeysTo(editStatDatePT, "28.07.2014", true);
            Thread.Sleep(Timings.Default_ms * 20);
            Browser.SendKeysTo(editEndDatePT, "10.01.2000", true);
            Thread.Sleep(Timings.Default_ms * 20);
            IWebElement dateValidationError = Browser.FindElementByXPath("//*[@id='EditPrivateTripForm']/fieldset/table/tbody/tr[2]/td[2]/span/span");

            Browser.SendKeysTo(editEndDatePT, "30.07.2014", true);
            Thread.Sleep(Timings.Default_ms * 20);
            IWebElement btnSavePrivateTrip = Browser.FindElementByXPath("//*[@id='btnSavePrivateTrip']/span");

            Browser.ClickOnWebElement(btnSavePrivateTrip);
            Thread.Sleep(Timings.Default_ms * 20);

            using (var db = new AjourBTForTestContext())
            {
                afterEditPrivateTrip = db.PrivateTrips.Count();
                PrivateTrip privateTrip = db.PrivateTrips.Where(p => p.PrivateTripID == 8).FirstOrDefault();
                Assert.AreEqual(3, (privateTrip.EndDate - privateTrip.StartDate).Days + 1);
            }

            empList = Tools.GetAllTableData("//tr[contains(@class,'zebra')]", Browser.webDriver);

            Assert.AreEqual(afterEditPrivateTrip, beforeEditPrivateTrip);
            Assert.IsTrue(Browser.FindElementByXPath("//*[@id='PTViewBody']/tr[1]/td[4]").Text.Contains("9"));
        }
        public ActionResult Edit(int id, string searchString = "")
        {
            ViewBag.JSDatePattern = MvcApplication.JSDatePattern;
            ViewBag.SearchString  = searchString;
            PrivateTrip pTrip = repository.PrivateTrips.Where(p => p.PrivateTripID == id).FirstOrDefault();

            if (pTrip == null)
            {
                return(HttpNotFound());
            }
            else
            {
                Employee employee = repository.Employees.Where(e => e.EmployeeID == pTrip.EmployeeID).FirstOrDefault();
                ViewBag.EmployeeInformation = employee.LastName + " " + employee.FirstName + " (" + employee.EID + ") from " + employee.Department.DepartmentName;
            }

            PrivateTripViewModel privateTripModel = new PrivateTripViewModel(pTrip);

            return(View(privateTripModel));
        }
        public void SavePrivateTrip(PrivateTrip pt)
        {
            PrivateTrip dbEntry = (from p in PrivateTrips where p.PrivateTripID == pt.PrivateTripID select p).FirstOrDefault();

            if (dbEntry != null)
            {
                if (!dbEntry.RowVersion.SequenceEqual(pt.RowVersion))
                {
                    throw new DbUpdateConcurrencyException();
                }
                dbEntry.StartDate = (pt.StartDate == default(DateTime)) ? dbEntry.StartDate : pt.StartDate;
                dbEntry.EndDate   = (pt.EndDate == default(DateTime)) ? dbEntry.EndDate : pt.EndDate;
            }
            else
            {
                context.PrivateTrips.Add(pt);
            }

            context.SaveChanges();
        }
        public ActionResult DeleteConfirmed(int id, string searchString = "")
        {
            PrivateTrip privateTrip = (from pt in repository.PrivateTrips where pt.PrivateTripID == id select pt).FirstOrDefault();

            if (privateTrip != null)
            {
                Visa visa = (from v in repository.Visas where v.EmployeeID == privateTrip.EmployeeID select v).FirstOrDefault();
                if (visa != null)
                {
                    visa.DaysUsedInPrivateTrips -= CountingDaysUsedInPT(privateTrip);
                    visa.EntriesUsedInPrivateTrips--;
                    repository.SaveVisa(visa, visa.EmployeeID);
                }

                repository.DeletePrivateTrip(id);
            }
            ViewBag.SearchString  = searchString;
            ViewBag.JSDatePattern = MvcApplication.JSDatePattern;
            List <Employee> emplist = SearchPrivateTripData(repository.Employees.ToList(), searchString);

            return(View("TableViewPTBTM", emplist));
        }
        public ActionResult Edit(PrivateTrip privateTrip, string searchString = null)
        {
            ViewBag.SearchString  = searchString;
            ViewBag.JSDatePattern = MvcApplication.JSDatePattern;
            string ModelError = "";

            try
            {
                if (ModelState.IsValid)
                {
                    Visa visa = repository.Visas.Where(v => v.EmployeeID == privateTrip.EmployeeID).FirstOrDefault();
                    if (visa != null)
                    {
                        if (visa.DaysUsedInPrivateTrips != null)
                        {
                            int oldDaysUsedInBT = visa.DaysUsedInPrivateTrips.Value;
                            visa.DaysUsedInPrivateTrips -= oldDaysUsedInBT;
                        }
                        visa.DaysUsedInPrivateTrips += CountingDaysUsedInPT(privateTrip);

                        repository.SaveVisa(visa, visa.EmployeeID);
                    }

                    repository.SavePrivateTrip(privateTrip);
                    List <Employee> emplist = SearchPrivateTripData(repository.Employees.ToList(), searchString);
                    return(View("TableViewPTBTM", emplist));
                }
            }
            catch (DbUpdateConcurrencyException)
            {
                ModelError = "The record you attempted to edit "
                             + "was modified by another user after you got the original value. The "
                             + "edit operation was canceled.";
            }
            //PrivateTripViewModel privateTripModel = new PrivateTripViewModel(privateTrip);
            //return View(privateTripModel);
            return(Json(new { error = ModelError }));
        }
        public ActionResult Delete(int id, string searchString = "")
        {
            ViewBag.SearchString  = searchString;
            ViewBag.JSDatePattern = MvcApplication.JSDatePattern;

            PrivateTrip privateTrip = (from pt in repository.PrivateTrips where pt.PrivateTripID == id select pt).FirstOrDefault();

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

            Employee employee = (from e in repository.Employees.AsEnumerable() where e.EmployeeID == privateTrip.EmployeeID select e).FirstOrDefault();

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

            ViewBag.EmployeeInformation = "Delete Private trip of " + employee.LastName + " " + employee.FirstName;

            return(View(privateTrip));
        }
Exemple #10
0
 public void SavePrivateTrip(PrivateTrip pt)
 {
     throw new NotImplementedException();
 }
 public int CountingDaysUsedInPT(PrivateTrip privateTrip)
 {
     //'+1' day for counting last day too
     return((privateTrip.EndDate - privateTrip.StartDate).Days + 1);
 }