public virtual HttpResponseMessage Post(ProsjektrequestMelding pid )
        {
            string userName = User.Identity.Name;
            if (ModelState.IsValid)
            {
                bool ok = _ProsjektBLL.RegistrerProsjektdeltakelse(pid, userName);
                if (ok)
                {
                    var response = Request.CreateResponse(HttpStatusCode.Created, pid);
                    string uri = Url.Link("DefaultApi", null);
                    response.Headers.Location = new Uri(uri);
                    return response;
                }
                return new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.NotFound,
                    Content = new StringContent("Kunne ikke sende melding")
                };
            }
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);


        }
Exemple #2
0
 public bool RegistrerProsjektdeltakelse(ProsjektrequestMelding pid, string brukernavn)
 {
     return _repository.RegistrerProsjektdeltakelse(pid, brukernavn);
 }
        public bool RegistrerProsjektdeltakelse(ProsjektrequestMelding pid,string brukernavn)
        {
            Dbkontekst dbs = new Dbkontekst();
            int id = BrukerId(brukernavn);
            IEnumerable<ProsjektDeltakelseOverforing> prosjektReq = from prosj in dbs.Prosjektrequester
                                                                    from b in dbs.Brukere
                                                                    from s in dbs.Prosjekter
                                                                    where prosj.BrukerIdTil == id && prosj.BrukerIdFra == b.BrukerId && prosj.ProsjektId == pid.ProsjektId
                                                                    select new ProsjektDeltakelseOverforing()
                                                                    {
                                                                        BrukerId = prosj.BrukerIdTil,
                                                                        ProsjektId = prosj.ProsjektId
                                                                        
                                                                    };
                                                                            

            var prosjektD = new Prosjektdeltakelse();
            foreach(var a in prosjektReq)
            {
                prosjektD.BrukerId = a.BrukerId;
                prosjektD.ProsjektId = a.ProsjektId;
                prosjektD.Medlemsdato = DateTime.Now;
            }
            
         
            using (var db = new Dbkontekst())
            {
                try
                {
                    
                    db.Prosjektdeltakelser.Add(prosjektD);
                    db.SaveChanges();
                    SlettRequest(prosjektD.ProsjektId, brukernavn);
                    return true;

                }
                catch (Exception feil)
                {
                    return false;
                }

            }

        }
Exemple #4
0
        public void RegistrerProsjektdeltakelse()
        {
            ProsjektrequestMelding p = new ProsjektrequestMelding();
            p.ProsjektId = 1;
            p.TilBruker = "*****@*****.**";
            
            bool testProduct = this.mockProductRepository.RegistrerProsjektdeltakelse(p, "*****@*****.**");

            Assert.IsTrue(testProduct);
        }
 public void Delete_ProsjektDeltakelse_Bad_Request()
 {
     var pros = new ProsjektrequestMelding();
     pros.MeldingId = 0;
     var commandBus = new Mock<IProsjektLogikk>();
     commandBus.Setup(c => c.RegistrerProsjektdeltakelse(pros, 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", "ProsjektDeltakelseApi" } });
     var controller = new ProsjektDeltakelseApiController(commandBus.Object)
     {
         Request = new HttpRequestMessage(HttpMethod.Delete, "http://localhost/api/ProsjektDeltakelseApi/")
         {
             Properties =
     {
         { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
         { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
     }
         }
     };
     // Act
     
     // The ASP.NET pipeline doesn't run, so validation don't run. 
     controller.ModelState.AddModelError("MeldingId", "mock error message");
     var response = controller.Delete(0);
     // Assert
     Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
 }
 public void Delete_ProsjektDeltakelse_Ok()
 {
     ProsjektrequestMelding nyttProsjekt = new ProsjektrequestMelding()
     {
         MeldingId = 1
     };
     var commandBus = new Mock<IProsjektLogikk>();
     commandBus.Setup(c => c.SlettBrukerFraProsjekt(It.IsAny<string>(), It.IsAny<int>())).Returns(true);
     // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
     var httpConfiguration = new HttpConfiguration();
     WebApiConfig.Register(httpConfiguration);
     var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
         new HttpRouteValueDictionary { { "controller", "ProsjektDeltakelseApi" } });
     var controller = new ProsjektDeltakelseApiController(commandBus.Object)
     {
         Request = new HttpRequestMessage(HttpMethod.Delete, "http://localhost/api/ProsjektDeltakelseApi/")
         {
             Properties =
     {
         { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
         { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
     }
         }
     };
     // Act
     var response = controller.Delete(1);
     // Assert
     Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
 }
        public void Post_Registrer_ProsjektDeltakelse_NOT_FOUND()
        {
            var pros = new ProsjektrequestMelding();
            pros.MeldingId = 0;
            var commandBus = new Mock<IProsjektLogikk>();
            commandBus.Setup(c => c.RegistrerProsjektdeltakelse(pros, "test")).Returns(false);
            // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>();
            var httpConfiguration = new HttpConfiguration();
            WebApiConfig.Register(httpConfiguration);
            var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"],
                new HttpRouteValueDictionary { { "controller", "ProsjektDeltakelseApi" } });
            var controller = new ProsjektDeltakelseApiController(commandBus.Object)
            {
                Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektDeltakelseApi/")
                {
                    Properties =
            {
                { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
                { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
            }
                }
            };
            // Act


            var response = controller.Post(pros);
            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
 public void Post_Registrer_ProsjektDeltakelse_Ok()
 {
     ProsjektrequestMelding nyttProsjekt = new ProsjektrequestMelding()
     {
         MeldingId = 1
     };
     var commandBus = new Mock<IProsjektLogikk>();
     commandBus.Setup(c => c.RegistrerProsjektdeltakelse(It.IsAny<ProsjektrequestMelding>(), 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", "ProsjektDeltakelseApi" } });
     var controller = new ProsjektDeltakelseApiController(commandBus.Object)
     {
         Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektDeltakelseApi/")
         {
             Properties =
     {
         { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration },
         { HttpPropertyKeys.HttpRouteDataKey, httpRouteData }
     }
         }
     };
     // Act
     var response = controller.Post(nyttProsjekt);
     // Assert
     Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
     // var newCategory = JsonConvert.DeserializeObject<CategoryModel>(response.Content.ReadAsStringAsync().Result);
     Assert.AreEqual(string.Format("http://localhost/api/ProsjektDeltakelseApi"), response.Headers.Location.ToString());
 }