public List <FCCxCBienoServicio> NEGOCIO_SelectAll() { try { var resTemp = new DATOS_BienoServicio().DATOS_selectAll(); /*TODO*/ List <FCCxCBienoServicio> res = new List <FCCxCBienoServicio>(); foreach (var r in resTemp) { FCCxCBienoServicio n = new FCCxCBienoServicio() { IdBoS = r.IdBoS, DscBoS = r.DscBoS, IdAuxiliar = r.IdAuxiliar, IdConcepto = r.IdConcepto, FecCreacion = r.FecCreacion, UsrCreacion = r.UsrCreacion, FecUltModif = r.FecUltModif, UsrUltModif = r.UsrUltModif, Id_SP = r.Id_SP }; res.Add(n); } return(res); } catch (Exception ex) { var msgError = ex.Message; } return(null); }
public void BienoServicio_Post_Debe_FALLAR_IdAuxiliarInvalido() { // arrange var bienoServicioNuevo = new FCCxCBienoServicio() { DscBoS = "Nuevo bien o servicio csanabria", IdAuxiliar = 100, //verificar que el registro no exista en FCCxCAuxiliar IdConcepto = 1, FecCreacion = DateTime.Now, UsrCreacion = "pruebaUnit", FecUltModif = DateTime.Now, UsrUltModif = "pruebaunit" }; var ctrl = new BienoServicioController(); ctrl.Request = new HttpRequestMessage(); ctrl.Configuration = new HttpConfiguration(); // act //invocar el post del controlador Api HttpResponseMessage result = ctrl.Post(bienoServicioNuevo); //notas: 1. reporte de errores es pobre, negocios y datos solo retornan false si hubo error //en el api detecto error y genero un mensaje de tipo InternalServerError, pero no tengo más detalles, //no hay excepciones en las capas de datos y negocios, tuve que depurar para ver que era null exception //2. idealmente por buen diseño el api debería devolver un StatusCode.OK con el Id del nuevo registro creado, pero //la implementación de las capas no lo permiten // assert, debe retornar internal server error Assert.AreEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Debía retornar internal server error y no lo hizo"); //TODO: validar que sea OK }
public void BienoServicio_Put_DebeModificarCorretamente() { // arrange var bienoServicioModif = new FCCxCBienoServicio() { IdBoS = 1, DscBoS = "Modif prueba unit" + DateTime.Now.ToShortTimeString(), IdAuxiliar = 1, IdConcepto = 1, FecCreacion = DateTime.Now, UsrCreacion = "pruebaUnit", FecUltModif = DateTime.Now, UsrUltModif = "pruebaunit" }; var ctrl = new BienoServicioController(); ctrl.Request = new HttpRequestMessage(); ctrl.Configuration = new HttpConfiguration(); // act //invocar el post del controlador Api HttpResponseMessage result = ctrl.Put(bienoServicioModif); //notas: 1. reporte de errores es pobre, negocios y datos solo retornan false si hubo error //en el api detecto error y genero un mensaje de tipo InternalServerError, pero no tengo más detalles, //no hay excepciones en las capas de datos y negocios, tuve que depurar para ver que era null exception //2. idealmente por buen diseño el api debería devolver un StatusCode.OK con el Id del nuevo registro creado, pero //la implementación de las capas no lo permiten // assert Assert.AreNotEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Error en la inserción"); //TODO: validar que sea OK }
// PUT: api/BienoServicio/5 public HttpResponseMessage Put(FCCxCBienoServicio BienoServicioModif) { try { using (var objNegocio = new NEGOCIO_BienoServicio()) { var resNegocios = objNegocio.NEGOCIO_update(BienoServicioModif); //mensaje Http de respuesta del Api HttpResponseMessage res = null; if (resNegocios) { //crear respuesta de ok res = new HttpResponseMessage(HttpStatusCode.OK); } else { //crear respuesta de error res = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(res); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/BienoServicio public HttpResponseMessage Post([FromBody] FCCxCBienoServicio nuevoBienoServicio) { try { //probar throw new Exception("Error de prueba"); using (var objNegocio = new NEGOCIO_BienoServicio()) { var resNegocios = objNegocio.NEGOCIO_insertar(nuevoBienoServicio); //mensaje Http de respuesta del Api HttpResponseMessage res = null; if (resNegocios) { //crear respuesta de ok res = new HttpResponseMessage(HttpStatusCode.OK); //no se puede obtener el Id del nuevo registro pues retorna un bool //var message = Request.CreateResponse(HttpStatusCode.Created, nuevoConcepto.IdConcepto); //message.Headers.Location = new Uri(Request.RequestUri + // nuevoConcepto.IdConcepto.ToString()); } else { //crear respuesta de error res = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(res); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage ObtenerBoSPrecio(FCCxCBienoServicio BienoServicioBuscar) //(int IdAuxiliar, int IdBienOServicio, int Periodo) { try { HttpResponseMessage res; using (var objNegocio = new NEGOCIO_BienoServicio()) { //Retorna la lista de Bienes o Servicios, con precio, idprecio, periodo var oBoSPrecio = objNegocio.NEGOCIO_Select(BienoServicioBuscar.IdBoS); // new NEGOCIO_BoSPrecio();// (224, "CA", 0, "Desconocido", Key_Ambiente); //por qué hace esto antes de devolverlo? if (BienoServicioBuscar.IdBoS > 0) //if (BienoServicioBuscar.IdBienOServicio > 0) { oBoSPrecio.IdBoS = BienoServicioBuscar.IdBoS; // BienoServicioBuscar.IdBienOServicio; } oBoSPrecio.IdAuxiliar = BienoServicioBuscar.IdAuxiliar; res = Request.CreateResponse(HttpStatusCode.OK, oBoSPrecio); //response.Content = ??? res.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromMinutes(20) }; } return(res); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public bool NEGOCIO_update(FCCxCBienoServicio obj) { try { var resultado = new DATOS_BienoServicio().DATOS_update(obj); return(resultado); } catch (Exception ex) { var msgError = ex.Message; return(false); } }