public HttpResponseMessage create([FromBody] MaquinariaVo maquina_vo) { if (maquina_vo.cuentas != null) { foreach (CuentaVo c in maquina_vo.cuentas) { c.user_id = int.Parse(RequestContext.Principal.Identity.Name); } } else { maquina_vo.cuentas = new List <CuentaVo>(); } TransactionResult tr = maquinaria_service.create(maquina_vo); //TransactionResult tr = TransactionResult.CREATED; IDictionary <string, string> data = new Dictionary <string, string>(); if (tr == TransactionResult.CREATED) { data.Add("message", "Object created."); return(Request.CreateResponse(HttpStatusCode.Created, data)); } else if (tr == TransactionResult.EXISTS) { data.Add("message", "Object already existed."); return(Request.CreateResponse(HttpStatusCode.Conflict, data)); } else { data.Add("message", "There was an error attending your request."); return(Request.CreateResponse(HttpStatusCode.BadRequest, data)); } }
//Create Maquinaria public TransactionResult create(MaquinariaVo maquina_vo) { Maquinaria maquina = MaquinariaAdapter.voToObject(maquina_vo); //return maquinaria_repository.create(maquina); int id = maquinaria_repository.create(maquina); if (id > 0) { foreach (DetalleConsumoMaquinariaVo dvo in maquina_vo.detalles) { dvo.maquinaria_id = id; var tr2 = TransactionResult.CREATED; tr2 = maquinaria_repository.createDetalle(DetalleConsumoAdapter.voToObject(dvo)); if (tr2 != TransactionResult.CREATED) { return(tr2); } } foreach (CuentaVo cvo in maquina_vo.cuentas) { var tr2 = TransactionResult.CREATED; tr2 = maquinaria_repository.createCuenta(CuentaAdapter.voToObject(cvo), id); if (tr2 != TransactionResult.CREATED) { return(tr2); } } return(TransactionResult.CREATED); } return(TransactionResult.ERROR); }
//Actualizar Maquinaria public TransactionResult update(MaquinariaVo maquina_vo) { maquinaria_repository.deleteDetallesByIdMaquinaria(maquina_vo.id); foreach (DetalleConsumoMaquinariaVo dvo in maquina_vo.detalles) { dvo.maquinaria_id = maquina_vo.id; var tr2 = TransactionResult.CREATED; tr2 = maquinaria_repository.createDetalle(DetalleConsumoAdapter.voToObject(dvo)); if (tr2 != TransactionResult.CREATED) { return(tr2); } } //Revisamos que la maquinaria ya tenga cuentas, de lo contrario las creamos IList <Cuenta> cuentas = maquinaria_repository.getAllCuentasByMaquinariaId(maquina_vo.id); if (cuentas.Count > 0 && cuentas != null) { foreach (CuentaVo cvo in maquina_vo.cuentas) { var tr2 = TransactionResult.OK; Cuenta cuentaAux = maquinaria_repository.cuentaDetail(cvo.id); if (cuentaAux == null) { tr2 = maquinaria_repository.createCuenta(CuentaAdapter.voToObject(cvo), maquina_vo.id); if (tr2 != TransactionResult.CREATED) { return(tr2); } } else { tr2 = maquinaria_repository.updateCuenta(CuentaAdapter.voToObject(cvo)); if (tr2 != TransactionResult.OK) { return(tr2); } } } } else { foreach (CuentaVo cvo in maquina_vo.cuentas) { var tr2 = TransactionResult.CREATED; tr2 = maquinaria_repository.createCuenta(CuentaAdapter.voToObject(cvo), maquina_vo.id); if (tr2 != TransactionResult.CREATED) { return(tr2); } } } return(maquinaria_repository.update(MaquinariaAdapter.voToObject(maquina_vo))); }
/// <summary> /// Void object to object /// </summary> /// <param name="vo"></param> /// <returns></returns> public static Maquinaria voToObject(MaquinariaVo vo) { return(new Maquinaria { id = vo.id, nombre = vo.nombre, tipo_maquinaria = new TipoMaquinaria { id = vo.tipo_maquinaria_id }, timestamp = Convert.ToDateTime(vo.timestamp), updated = Convert.ToDateTime(vo.updated) }); }