예제 #1
0
        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));
            }
        }
예제 #2
0
        //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);
        }
예제 #3
0
        //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)));
        }
예제 #4
0
 /// <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)
     });
 }