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