private static void _insertTreatment()
        {
            TreatmentController treatmentCtrl = new TreatmentController();
            Treatment_DTO       treatment     = new Treatment_DTO(1, "Stor fed klip, lang hår", "Vi klipper langt hår på damer", 30, 499.95m, new List <int> {
                1
            });


            treatmentCtrl.Post(treatment);
        }
Ejemplo n.º 2
0
 public void SetUp()
 {
     _treatmentCtrl = new TreatmentController();
     _watch         = new Stopwatch();
     _treatment     = new Treatment_DTO(1, "Dameklip, lang hår", "Vi klipper langt hår på damer", 30, 499.95m, _categories);
     _categories    = new List <int>()
     {
         1
     };
 }
Ejemplo n.º 3
0
        public ActionResult Create(int companyID, string name, string description, string duration, int price, string treatmentCategoryID)
        {
            int durationAsInt = int.Parse(duration);


            List <int> categoriesID = new List <int>();

            foreach (string part in treatmentCategoryID.Trim().Split(','))
            {
                int parsedValue = -1;
                if (int.TryParse(part, out parsedValue))
                {
                    categoriesID.Add(parsedValue);
                }
            }

            RestRequest treatmentRequest = new RestRequest("/api/Treatment", Method.POST);

            treatmentRequest.AddHeader("Authorization", $"Bearer {Request.Cookies["token"].Value}");

            Treatment_DTO treatmentTransferObj = new Treatment_DTO(
                companyID: companyID,
                name: name,
                description: description,
                duration: durationAsInt,
                price: price,
                treatmentCategoryID: categoriesID
                );

            treatmentRequest.AddJsonBody(treatmentTransferObj);
            var response = RestClientManager.Client.Execute(treatmentRequest);

            ActionResult viewToReturn;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                ViewBag.treatment = JsonConvert.DeserializeObject <Treatment>(response.Content);
                viewToReturn      = View("SuccessView");
            }
            else
            {
                ViewBag.ExceptionAsString = response.Content;
                viewToReturn = View("FailView");
            }

            return(viewToReturn);
        }
        public void SetUp()
        {
            _reservationCtrl = new ReservationController();
            _treatmentCtrl   = new TreatmentController();
            _employeeCtrl    = new EmployeeController();
            _watch           = new Stopwatch();
            DbCleanUp.CleanDB();
            InsertTestData.InsertData();

            _categories = new List <int>()
            {
                1
            };

            Treatment_DTO treatment = new Treatment_DTO(1, "Voks af ryg", "Vi benytter enten almindelig varm voks eller sugaring", 60, 699.95m, _categories);

            _treatmentCtrl.Post(treatment);
        }
Ejemplo n.º 5
0
        public void TestCreateTreatment3_IllegalDuration()
        {
            //Arrange
            Treatment_DTO treatment = _treatment;

            treatment.Duration = -30;

            //Act
            _watch.Start();
            IHttpActionResult addedTreatment = _treatmentCtrl.Post(treatment);

            _watch.Stop();

            //Assert
            Assert.IsInstanceOfType(addedTreatment, typeof(NegotiatedContentResult <string>));
            Assert.IsTrue(((NegotiatedContentResult <string>)addedTreatment).StatusCode == System.Net.HttpStatusCode.Conflict);
            Assert.IsTrue(_watch.ElapsedMilliseconds < 2500);
        }
Ejemplo n.º 6
0
        // POST: api/Treatment
        public IHttpActionResult Post([FromBody] Treatment_DTO value)
        {
            IHttpActionResult result;

            try
            {
                //   if () throw new ArgumentException("Illegal duration!");
                if (value.Duration > 0 && value.Price >= 0 && value.Name.Trim().Length > 0 && value.Duration % 30 == 0 && value.Duration <= 120)
                {
                    var       treatmentToAddObj = new Treatment(value.CompanyID, value.Name, value.Description, value.Duration, value.Price, value.TreatmentCategoryID);
                    Treatment treatmentAdded    = _dbTreatment.InsertTreatmentToDatabase(treatmentToAddObj);

                    if (treatmentAdded != null && value.TreatmentCategoryID != null)
                    {
                        foreach (int categoryID in value.TreatmentCategoryID)
                        {
                            _dbTreatmentCategory.AddCategoryToTreatment(treatmentAdded.ID, categoryID);
                        }
                        treatmentAdded.TreatmentCategoryID = value.TreatmentCategoryID;
                    }
                    result = Ok(treatmentAdded);
                }
                else
                {
                    result = Content(HttpStatusCode.Conflict, "The Arguments provided were invalid.");
                }
            }
            catch (SqlException)
            {
                result = result = Content(HttpStatusCode.InternalServerError, $"Data could not be inserted.");
            }
            catch (ArgumentException)
            {
                result = result = Content(HttpStatusCode.BadRequest, $"Invalid arguments provided.");
            }
            catch (AlreadyExistsException)
            {
                result = result = Content(HttpStatusCode.Conflict, $"The dataset already exists.");
            }

            return(result);
        }
        public void TestCreateReservation3_TimeOverlap()
        {
            //Arrange
            Treatment_DTO treatment2 = new Treatment_DTO(1, "Voks af bryst", "Vi benytter enten almindelig varm voks eller sugaring", 60, 399.95m, _categories);

            _treatmentCtrl.Post(treatment2);

            Reservation_DTO newReservation    = new Reservation_DTO(2, 1, 1, DateTime.Parse("26-02-2025 13:30"));
            Reservation_DTO doubleReservation = new Reservation_DTO(1, 1, 1, DateTime.Parse("26-02-2025 14:00"));

            //Act
            _watch.Start();
            IHttpActionResult addedReservationResult       = _reservationCtrl.Post(newReservation);
            IHttpActionResult addedReservationDoubleResult = _reservationCtrl.Post(doubleReservation);

            _watch.Stop();

            //Assert
            Assert.IsInstanceOfType(addedReservationDoubleResult, typeof(NegotiatedContentResult <string>));
            Assert.IsTrue(((NegotiatedContentResult <string>)addedReservationDoubleResult).StatusCode == System.Net.HttpStatusCode.Conflict);
            Assert.IsTrue(_watch.ElapsedMilliseconds < 2500);
        }
        private void CreateBtn_Click(object sender, RoutedEventArgs e)
        {
            FailLbl.Content              = "";
            CreateButton.BorderBrush     = Brushes.Gray;
            CreateButton.BorderThickness = new Thickness(1, 1, 1, 1);
            if (CompanyIDBox.Text.Trim().Length > 0 && TreatmentCategoryBox.Text.Trim().Length > 0 && NameBox.Text.Trim().Length > 0 && TreatmentCategoryBox.Text.Trim().Length > 0 && DurationCombo.Text.Trim().Length > 0 && PriceBox.Text.Trim().Length > 0)
            {
                Int32      duration              = (int)DurationCombo.SelectedItem;
                string     treatmentCategories   = TreatmentCategoryBox.Text;
                string[]   tempTreatmentCategory = treatmentCategories.Split(',');
                int        index = 0;
                List <int> treatmentCategoryList = new List <int>();
                while (index < tempTreatmentCategory.Length)
                {
                    treatmentCategoryList.Add(Int32.Parse(tempTreatmentCategory[index].Trim()));
                    index++;
                }

                Treatment_DTO treatmentToAdd = new Treatment_DTO(Int32.Parse(CompanyIDBox.Text),
                                                                 NameBox.Text, DescriptionBox.Text, duration, Decimal.Parse(PriceBox.Text));
                treatmentToAdd.TreatmentCategoryID = treatmentCategoryList;

                RestRequest addRequest = new RestRequest("api/Treatment", Method.POST);
                addRequest.AddJsonBody(treatmentToAdd);

                var response = _client.Execute(addRequest);
                if (response.StatusCode == HttpStatusCode.BadRequest)
                {
                    FailLbl.Content              = "Der skete en fejl! \n" + response.StatusCode + ", " + response.Content;
                    CreateButton.BorderBrush     = Brushes.Red;
                    CreateButton.BorderThickness = new Thickness(1, 1, 1, 1);
                }
                else if (response.StatusCode == HttpStatusCode.Conflict)
                {
                    FailLbl.Content              = "Der skete en fejl! \n" + response.StatusCode + ", " + response.Content;
                    CreateButton.BorderBrush     = Brushes.Red;
                    CreateButton.BorderThickness = new Thickness(1, 1, 1, 1);
                }
                else if (response.StatusCode == HttpStatusCode.InternalServerError)
                {
                    FailLbl.Content              = "Der skete en fejl! \n" + response.StatusCode + ", " + response.Content;
                    CreateButton.BorderBrush     = Brushes.Red;
                    CreateButton.BorderThickness = new Thickness(1, 1, 1, 1);
                }
                else
                {
                    string    theJson   = response.Content;
                    Treatment treatment = JsonConvert.DeserializeObject <Treatment>(theJson);

                    main.ShowCreatedTreatment(treatment);

                    this.Close();
                }
            }
            else
            {
                FailLbl.Content              = "Skriv noget i alle felter";
                CreateButton.BorderBrush     = Brushes.Red;
                CreateButton.BorderThickness = new Thickness(1, 1, 1, 1);
            }
        }