Пример #1
0
 // POST api/KalenderApi
 public HttpResponseMessage Post(Vaktskjema vaktInn)
 {
     string userName = User.Identity.Name;
    
     if (ModelState.IsValid)
     {
         bool ok = _VaktBLL.RegistrerVakt(vaktInn, userName);
         if (ok)
         {
             var response = Request.CreateResponse(HttpStatusCode.Created, vaktInn);
             string uri = Url.Link("DefaultApi", new { id = vaktInn.Vaktid });
             response.Headers.Location = new Uri(uri);
             return response;
         }
         return new HttpResponseMessage()
         {
             StatusCode = HttpStatusCode.NotFound,
             Content = new StringContent("Kunne ikke sette inn databasen")
         };
     }
     return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
   /*  return new HttpResponseMessage()
     {
         StatusCode = HttpStatusCode.NotFound,
         Content = new StringContent("Kunne i")
     };*/
 } 
Пример #2
0
        public void Post_Vakt_Bad_request()
        {

            var commandBus = new Mock<IVaktLogikk>();
            commandBus.Setup(c => c.RegistrerVakt(It.IsAny<Vaktskjema>(), It.IsAny<string>())).Returns(true);
            // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
            var httpConfiguration = new HttpConfiguration();
            WebApiConfig.Register(httpConfiguration);
            var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
                new HttpRouteValueDictionary { { "controller", "VaktApi" } });
            var controller = new Jobbplan.Controllers.VaktApiController(commandBus.Object)
            {
                Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/VaktApi/")
                {
                    Properties =
            {
                { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
                { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
            }
                }
            };
            Vaktskjema vakter = new Vaktskjema();
            vakter.start = "";
            vakter.end = "";
            // The ASP.NET pipeline doesn't run, so validation don't run. 
            controller.ModelState.AddModelError("start", "mock error message");
            var response = controller.Post(vakter);
            // Assert
            commandBus.Verify(e => e.RegistrerVakt(vakter, "mats"), Times.Never);
            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
            // Act

        }
Пример #3
0
 public bool LedigVakt (Vaktskjema innVakt)
 {
     if(innVakt.BrukerId==0)
     {
         return true;
     }
     return false;
 }    
Пример #4
0
        public HttpResponseMessage Put(Vaktskjema endrevakt)
        {
            string userName = User.Identity.Name;
      
            if (ModelState.IsValid)
            {
                bool ok = _VaktBLL.EndreVakt(endrevakt, userName);
                if (ok)
                {
                    return Request.CreateResponse(HttpStatusCode.OK, endrevakt);
                }
                return new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.NotFound,
                    Content = new StringContent("Kunne ikke endre vakt")
                };
            }
          
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);

        }
Пример #5
0
 public void Post_Vakt_Ok()
 {
     Vaktskjema vakter = new Vaktskjema()
     {
         start = "22.12.2012",
         startTid = "16.43",
         endTid = "18.43",
         title = "Dagvakt",
         Beskrivelse = "Opplæring",
         BrukerId = 1,
         ProsjektId = 1
     };
     var commandBus = new Mock<IVaktLogikk>();
     commandBus.Setup(c => c.RegistrerVakt(It.IsAny<Vaktskjema>(), It.IsAny<string>())).Returns(true);
     // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
     var httpConfiguration = new HttpConfiguration();
     WebApiConfig.Register(httpConfiguration);
     var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
         new HttpRouteValueDictionary { { "controller", "VaktApi" } });
     var controller = new Jobbplan.Controllers.VaktApiController(commandBus.Object)
     {
         Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/VaktApi/")
         {
             Properties =
     {
         { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
         { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
     }
         }
     };
     // Act
     var response = controller.Post(vakter);
     // Assert
     Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
     // var newCategory = JsonConvert.DeserializeObject<CategoryModel>(response.Content.ReadAsStringAsync().Result);
     Assert.AreEqual(string.Format("http://localhost/api/VaktApi/{0}", vakter.Vaktid), response.Headers.Location.ToString());
 }
Пример #6
0
        public bool EndreVakt(Vaktskjema EndreVakt, string brukernavn)
        {
            var dbtp = new DbTransaksjonerProsjekt();

            if (!dbtp.ErAdmin(brukernavn, EndreVakt.ProsjektId) && !dbtp.ErEier(brukernavn, EndreVakt.ProsjektId))
            {
                return false;
            }
            Dbkontekst db = new Dbkontekst();
            var NyEndreVakt = db.Vakter.FirstOrDefault(p => p.VaktId == EndreVakt.Vaktid);
            

            string start = EndreVakt.start + " " + EndreVakt.startTid;
            string end;

            IFormatProvider culture = System.Threading.Thread.CurrentThread.CurrentCulture;
            DateTime dt1 = DateTime.ParseExact(start, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);
            DateTime dt2;

            if (EndreVakt.end != "" && EndreVakt.endDato == true)
            {
                end = EndreVakt.end + " " + EndreVakt.endTid;
                dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);
            }
            else
            {
                end = EndreVakt.start + " " + EndreVakt.endTid;
                dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);
            }

            int result = DateTime.Compare(dt1, dt2);
            if (result > 0 || result == 0)
            {
                return false;
            }
            if (!dbtp.ErAdmin(brukernavn, NyEndreVakt.ProsjektId) && !dbtp.ErEier(brukernavn, NyEndreVakt.ProsjektId))
            {
                return false;
            }         
            try
            {
                NyEndreVakt.Beskrivelse = EndreVakt.Beskrivelse;
                NyEndreVakt.BrukerId = EndreVakt.BrukerId;
                NyEndreVakt.start = dt1;
                NyEndreVakt.end = dt2;
                NyEndreVakt.title = EndreVakt.title;
               if (LedigVakt(EndreVakt))
                {
                    NyEndreVakt.Ledig = true;
                    NyEndreVakt.color = "#5CB85C";
                }
               else
                {
                    NyEndreVakt.Ledig = false;
                    NyEndreVakt.color = "#3A87AD";
                }

                db.SaveChanges();
                return true;
            }
            catch (Exception feil)
            {
                return false;
            }
        }
Пример #7
0
        public bool RegistrerVakt (Vaktskjema innVakt, string brukernavn)
        {
            var dbtp = new DbTransaksjonerProsjekt();

            if (!dbtp.ErAdmin(brukernavn, innVakt.ProsjektId) && !dbtp.ErEier(brukernavn, innVakt.ProsjektId))
            {
                return false;
            }


            string start = innVakt.start+" "+innVakt.startTid;
            string end;

            IFormatProvider culture = System.Threading.Thread.CurrentThread.CurrentCulture;
            DateTime dt1 = DateTime.ParseExact(start, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);
            DateTime dt2;
           
            if (innVakt.end != "" && innVakt.endDato == true)
            {
                end = innVakt.end + " " + innVakt.endTid;
               dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);        
            }
            else
            {
                end = innVakt.start + " " + innVakt.endTid;
                dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal);
            }

            int result = DateTime.Compare(dt1, dt2);
            if (result > 0 || result==0)
            {
                return false;
            }
            var nyVakt = new Vakt()
            {
               start = dt1,
               end = dt2,
               title = innVakt.title,
               Beskrivelse = innVakt.Beskrivelse,
               BrukerId = innVakt.BrukerId,
               ProsjektId = innVakt.ProsjektId
            };
            if (LedigVakt(innVakt))
            {
                nyVakt.Ledig = true;
                nyVakt.color = "#5CB85C";
            }

            using (var db = new Dbkontekst())
            {
                try
                {
                    db.Vakter.Add(nyVakt);
                    db.SaveChanges();
                    return true;
                }
                catch (Exception feil)
                {
                    return false;
                }

            }

        }
Пример #8
0
        public void Endre_vakt_end_before_start()
        {
            // Try finding a product by id

            Vaktskjema vakt = new Vaktskjema()
            {
                start = "22.12.2012",
                startTid = "16.43",
                endTid = "15.43",
                title = "Dagvakt",
                Beskrivelse = "Opplæring",
                BrukerId = 1,
                ProsjektId = 1
            };
            bool ok = this.mockProductRepository.EndreVakt(vakt, "*****@*****.**");

            Assert.IsFalse(ok);


        }
Пример #9
0
        public void Endre_Vakt_Ikke_Admin()
        {

            Vaktskjema vakt = new Vaktskjema()
            {
                Vaktid = 1,
                start = "22.12.2012",
                startTid = "16.43",
                endTid = "18.43",
                title = "Dagvakt",
                Beskrivelse = "Opplæring",
                BrukerId = 1,
                ProsjektId = 1
            };
            bool ok = this.mockProductRepository.EndreVakt(vakt, "*****@*****.**");

            Assert.IsFalse(ok);
        }
Пример #10
0
        public void Ikke_Ledig_Vakt()
        {

            var dbtv = new DbTransaksjonerVakt();

            var innVakt = new Vaktskjema();
            innVakt.BrukerId = 1;

            var actual = dbtv.LedigVakt(innVakt);

            Assert.AreEqual(false, actual);

        }
Пример #11
0
        public void Registrer_Vakt_OK_admin()
        {

            Vaktskjema vakt = new Vaktskjema()
            {
                start = "22.12.2012",
                startTid = "16.43",
                endTid = "18.43",
                title = "Dagvakt",
                Beskrivelse = "Opplæring",
                BrukerId = 1,
                ProsjektId = 1
            };
            bool ok = this.mockProductRepository.RegistrerVakt(vakt, "*****@*****.**");

            Assert.IsTrue(ok);
        }
Пример #12
0
        public void Post_Vakt_NOT_FOUND()
        {
            Vaktskjema vakter = new Vaktskjema()
            {
                start = "22.12.2012",
                startTid = "16.43",
                endTid = "18.43",
                title = "Dagvakt",
                Beskrivelse = "Opplæring",
                BrukerId = 1,
                ProsjektId = 1
            };
            Vaktskjema vakter1 = new Vaktskjema()
            {
                start = "22.12.2012",
                startTid = "19.43",
                endTid = "18.43",
                title = "Dagvakt",
                Beskrivelse = "Opplæring",
                BrukerId = 1,
                ProsjektId = 1
            };
            var commandBus = new Mock<IVaktLogikk>();
            commandBus.Setup(c => c.RegistrerVakt(vakter, It.IsAny<string>())).Returns(true);
            // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
            var httpConfiguration = new HttpConfiguration();
            WebApiConfig.Register(httpConfiguration);
            var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
                new HttpRouteValueDictionary { { "controller", "VaktApi" } });
            var controller = new Jobbplan.Controllers.VaktApiController(commandBus.Object)
            {
                Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/VaktApi/")
                {
                    Properties =
            {
                { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
                { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
            }
                }
            };
            var response = controller.Post(vakter1);
            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
            // Act

        }
Пример #13
0
        public void PUT_Endre_vakt_NOT_found()
        {
            Vaktskjema vakt = new Vaktskjema();
            vakt.Vaktid = 0;
            var commandBus = new Mock<IVaktLogikk>();
            commandBus.Setup(c => c.EndreVakt(vakt, It.IsAny<string>())).Returns(false);
            // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
            var httpConfiguration = new HttpConfiguration();
            WebApiConfig.Register(httpConfiguration);
            var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
                new HttpRouteValueDictionary { { "controller", "VaktApi2" } });
            var controller = new VaktApi2Controller(commandBus.Object)
            {
                Request = new HttpRequestMessage(HttpMethod.Put, "http://localhost/api/VaktApi2/")
                {
                    Properties =
            {
                { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
                { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
            }
                }
            };
            var response = controller.Put(vakt);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
            
        }
Пример #14
0
 public bool RegistrerVakt(Vaktskjema innVakt, string brukernavn)
 {
     return _repository.RegistrerVakt(innVakt, brukernavn);
 }
Пример #15
0
 public bool LedigVakt(Vaktskjema inn)
 {
     return _repository.LedigVakt(inn);
 }
Пример #16
0
 public bool EndreVakt(Vaktskjema EndreVakt, string brukernavn)
 {
     return _repository.EndreVakt(EndreVakt, brukernavn);
 }