コード例 #1
0
ファイル: TrabajosController.cs プロジェクト: iafar86/CFenix
        public IHttpActionResult PutTrabajo(int id, Trabajo trabajo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != trabajo.Id)
            {
                return BadRequest();
            }

            db.Entry(trabajo).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TrabajoExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
コード例 #2
0
ファイル: TrabajosController.cs プロジェクト: iafar86/CFenix
        public IHttpActionResult PostTrabajo(Trabajo trabajo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Trabajos.Add(trabajo);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = trabajo.Id }, trabajo);
        }
コード例 #3
0
ファイル: TrabajosController.cs プロジェクト: FranPaz/CFenix
        public IHttpActionResult PutTrabajo(int id, Trabajo trabajo, ICollection<Insumo> listAddInsumo, ICollection<Insumo> listDelInsumo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            //para eliminar los insumos debo hacer un foreach removiendo los insumos de una lista
            //trabajo.Insumos.Remove();
            
            //para agregar un nuevo insumo debo hacer un foreach haciendo un add
            
            if (id != trabajo.Id)
            {
                return BadRequest();
            }

            db.Entry(trabajo).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TrabajoExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
コード例 #4
0
ファイル: InsumosController.cs プロジェクト: FranPaz/CFenix
        // POST: api/Insumos
        //[ResponseType(typeof(Insumo))]
        //public IHttpActionResult PostInsumo(Insumo insumo)
        public IHttpActionResult PostInsumo(Trabajo trabajo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest();
            }
            try
            {
                
                //cargo un objeto trabajo con todos los datos
                //Trabajo trabajo = new Trabajo();
                //trabajo = prmTrabajo;
                

                trabajo.TipoTrabajo = db.TipoTrabajos.Find(1);

                
                //foreach (var item in prmTrabajo.Insumos)
                //{
                //    Insumo insumo = new Insumo();

                //    insumo.Nombre = item.Nombre;
                //    insumo.UMedida = item.UMedida;
                //    insumo.PrecioCompra = item.PrecioCompra;
                //    insumo.PrecioVenta = item.PrecioVenta;
                //    insumo.CantStock = item.CantStock;
                //    insumo.PtoRepo = item.PtoRepo;

                //    trabajo.Insumos.Add(insumo);
                //}
               
                db.Trabajos.Add(trabajo);
                db.SaveChanges();
                return Ok();
            }
            catch (Exception ex)
            {
                ex.Message.ToString();
                return BadRequest();

            }
            

            
        }
コード例 #5
0
ファイル: TrabajosController.cs プロジェクト: FranPaz/CFenix
        // POST: api/Trabajos
        //[ResponseType(typeof(Trabajo))]
        public IHttpActionResult PostTrabajo(parametrosTrabajo paramTrabajo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest();
            }
            try
            {
                Trabajo trabajo = new Trabajo();
                trabajo.Nombre = paramTrabajo.trabajo.Nombre;

                //iafar: esto es temporal para cargar el tipo trabajo 1 siempre, despues habra que cargar
                //segun el id
                var auxTipoTrab = db.TipoTrabajos.Find(1);

                trabajo.TipoTrabajo = auxTipoTrab;

                db.Trabajos.Add(trabajo);
                
                foreach (var insumo in paramTrabajo.listInsumo)
                {
                //Insumo ins = new Insumo();

                    var auxInsumo = db.Insumos.Find(insumo.Id);

                    auxInsumo.Trabajos.Add(trabajo); // el hashSet esta en el modelo de insumos, x eso la relacion es al reves
                    //trabajo.Insumos.Add(auxInsumo);//esto solo seria si el hashSet esuviera en el modelo de trabajo

                }

                db.SaveChanges();
                return Ok();
            }
            catch (Exception ex)
            {

                ex.Message.ToString();
                return BadRequest();
            }
            

            
        }