// POST api/OrdenesTrabajos
        public HttpResponseMessage PostOrdenesTrabajo(OrdenesTrabajo ordenestrabajo)
        {
            if (ModelState.IsValid)
            {
                var selServs   = new List <Servicio>(ordenestrabajo.Servicios);
                var selInsProv = new List <InsumosProveedore>(ordenestrabajo.InsumosProveedores);

                ordenestrabajo.Servicios.Clear();
                ordenestrabajo.InsumosProveedores.Clear();

                foreach (var servicio in db.Servicios)
                {
                    if (selServs.Any(s => s.Id.Equals(servicio.Id)))
                    {
                        ordenestrabajo.Servicios.Add(servicio);
                    }
                }

                foreach (var insProv in selInsProv)
                {
                    var ins  = db.Insumos.Find(insProv.IdInsumo);
                    var prov = db.Proveedores.Find(insProv.IdProveedor);

                    ordenestrabajo.InsumosProveedores.Add(new InsumosProveedore()
                    {
                        IdProveedor = insProv.IdProveedor, IdInsumo = insProv.IdInsumo, Precio = insProv.Precio
                    });
                }

                db.OrdenesTrabajos.Add(ordenestrabajo);
                db.SaveChanges();

                ordenestrabajo.Servicios = ordenestrabajo.Servicios.Select(s => new Servicio
                {
                    Nombre = s.Nombre,
                    Id     = s.Id
                }).ToList();
                ordenestrabajo.InsumosProveedores = ordenestrabajo.InsumosProveedores.Select(ip => new InsumosProveedore
                {
                    Precio          = ip.Precio,
                    IdInsumo        = ip.IdInsumo,
                    IdOrdenServicio = ip.IdOrdenServicio,
                    IdProveedor     = ip.IdProveedor,
                    Insumo          = new Insumo
                    {
                        Activo   = ip.Insumo.Activo,
                        Nombre   = ip.Insumo.Nombre,
                        IdInsumo = ip.IdInsumo
                    }
                }).ToList();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, ordenestrabajo);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = ordenestrabajo.Id }));
                return(response);
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
Esempio n. 2
0
        public ActionResult GuardarOrdenTrabajo(int clienteid, int equipoid, string tipotrabajo, int operario, string problema, string nota,
                                                string fechaini, string fechafin)
        {
            try
            {
                OrdenesTrabajo _orden = new OrdenesTrabajo();
                {
                    _orden.id_equipo         = equipoid;
                    _orden.orden_tipotrabajo = tipotrabajo;
                    _orden.orden_tecnico     = operario;
                    _orden.orden_problema    = problema;
                    _orden.orden_estado      = "INI";
                    _orden.orden_notas       = nota;
                    _orden.orden_fechainicio = DateTime.ParseExact(fechaini, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
                    _orden.orden_fechafin    = DateTime.ParseExact(fechafin, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
                    _orden.orden_auxvar      = "";
                    _orden.orden_auxint      = 0;
                }

                new ClienteDTO().FunGrabarOT(_orden);

                TempData["Mensaje"] = "OK";
                return(Json(new { success = true, miUrl = Url.Action("OrdenIndex", "Clientes") }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        private void gbCancelar_Click(object sender, EventArgs e)
        {
            if (noHayItemSeleccionado())
            {
                return;
            }

            // Pasamos la orden seleccionada a estado cancelada y la grabamos.
            EOrdenTrabajo ordenSeleccionada = OrdenesTrabajo.Get(m_ibItemSeleccionado.Numero, true, m_smResult);

            if (MsgRuts.AnalizeError(this, m_smResult))
            {
                return;
            }

            ordenSeleccionada.Cancelada();

            OrdenesTrabajo.Save(ordenSeleccionada, m_smResult);
            if (MsgRuts.AnalizeError(this, m_smResult))
            {
                return;
            }

            MsgRuts.ShowMsg(this, String.Format("La orden de trabajo numero {0} fue cancelada.", m_ibItemSeleccionado.Numero));

            // Actualizamos la lista de ordenes.
            actualizarOrdenesEnPantalla();
        }
Esempio n. 4
0
 public void FunGrabarOT(OrdenesTrabajo _orden)
 {
     using (BDD_HRVEntities _db = new BDD_HRVEntities())
     {
         _db.OrdenesTrabajo.Add(_orden);
         _db.SaveChanges();
     }
 }
        // GET api/OrdenesTrabajos/5
        public OrdenesTrabajo GetOrdenesTrabajo(int id)
        {
            OrdenesTrabajo ordenestrabajo = db.OrdenesTrabajos.Find(id);

            if (ordenestrabajo == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(ordenestrabajo);
        }
        // PUT api/OrdenesTrabajos/5
        public HttpResponseMessage PutOrdenesTrabajo(OrdenesTrabajo ordenestrabajo)
        {
            if (ModelState.IsValid)
            {
                db.OrdenesTrabajos.AddOrUpdate(ordenestrabajo);

                var ot = db.OrdenesTrabajos.Find(ordenestrabajo.Id);
                ot.Servicios.Clear();
                ot.InsumosProveedores.Clear();

                foreach (var servicio in db.Servicios)
                {
                    if (ordenestrabajo.Servicios.Any(s => s.Id.Equals(servicio.Id)))
                    {
                        ot.Servicios.Add(servicio);
                    }
                }

                foreach (var insProv in ordenestrabajo.InsumosProveedores)
                {
                    var ins  = db.Insumos.Find(insProv.IdInsumo);
                    var prov = db.Proveedores.Find(insProv.IdProveedor);

                    ot.InsumosProveedores.Add(new InsumosProveedore()
                    {
                        IdProveedor = insProv.IdProveedor, IdInsumo = insProv.IdInsumo, Precio = insProv.Precio
                    });
                }

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
Esempio n. 7
0
        private void gbVerItems_Click(object sender, EventArgs e)
        {
            if (noHayItemSeleccionado())
            {
                return;
            }

            LEOTItems itemsOrdenSeleccionada = OrdenesTrabajo.OtitFGet(m_ibItemSeleccionado.Numero, true, m_smResult);

            if (MsgRuts.AnalizeError(this, m_smResult))
            {
                return;
            }

            itemsOrdenSeleccionada.ChangeCaption(EOTItem.NroagrupadorCmp, "");
            itemsOrdenSeleccionada.ChangeCaption(EOTItem.NroitemCmp, "");
            itemsOrdenSeleccionada.ChangeCaption("deleted", "");

            fgGrillaItemsOT.FillFromLEntidad(itemsOrdenSeleccionada);
        }
        // DELETE api/OrdenesTrabajos/5
        public HttpResponseMessage DeleteOrdenesTrabajo(int id)
        {
            OrdenesTrabajo ordenestrabajo = db.OrdenesTrabajos.Find(id);

            if (ordenestrabajo == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.OrdenesTrabajos.Remove(ordenestrabajo);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, ordenestrabajo));
        }
        public async Task <IHttpActionResult> SaveOrderWorks(Orden ordencabedeta)
        {
            try
            {
                OrdenesTrabajo _originalcabecera = db.OrdenesTrabajo.Where(o => o.id_orden == ordencabedeta.IdOrden).FirstOrDefault();
                db.OrdenesTrabajo.Attach(_originalcabecera);
                _originalcabecera.id_orden            = ordencabedeta.IdOrden;
                _originalcabecera.orden_estado        = "FIN";
                _originalcabecera.orden_fechainiciotr = DateTime.ParseExact(ordencabedeta.FechaInicioTR,
                                                                            "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                _originalcabecera.orden_fechafintr = DateTime.ParseExact(ordencabedeta.FechaFinalTR,
                                                                         "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                _originalcabecera.orden_observaciontr = ordencabedeta.Observacion.ToUpper();
                _originalcabecera.orden_longitud      = ordencabedeta.Logintud;
                _originalcabecera.orden_latitud       = ordencabedeta.Latitud;
                _originalcabecera.orden_auxvar        = string.Empty;
                _originalcabecera.orden_auxint        = 0;

                if (ordencabedeta.ImagenTR != null && ordencabedeta.ImagenTR.Length > 0)
                {
                    _carpeta = @"~/Content/Equipos/";

                    if (!Directory.Exists(_carpeta))
                    {
                        Directory.CreateDirectory(_carpeta);
                    }

                    _nombrearchivo = string.Format("{0}.jpg", DateTime.Now.ToString("ddMMyyyyHHmmss"));
                    var _stream   = new MemoryStream(ordencabedeta.ImagenTR);
                    var _response = FilesHelper.UploadPhoto(_stream, _carpeta, _nombrearchivo);

                    //DESARROLLO
                    _rutaimagen = @"http://*****:*****@"http://localhost/Content/Equipos/" + _nombrearchivo;

                    if (_response)
                    {
                        _originalcabecera.orden_rutaimagen = _rutaimagen;
                    }
                }

                Equipos _orignalequipos = db.Equipos.Where(e => e.id_equipo == ordencabedeta.IdEquipo).FirstOrDefault();

                db.Equipos.Attach(_orignalequipos);
                _orignalequipos.marca_quipo     = ordencabedeta.MarcaId;
                _orignalequipos.modelo_equipo   = ordencabedeta.ModeloId;
                _orignalequipos.voltaje_equipo  = ordencabedeta.Voltaje;
                _orignalequipos.amperaje_equipo = ordencabedeta.Amperaje;
                _orignalequipos.presion_equipo  = ordencabedeta.Presion;

                foreach (OrdenesTrabajoDetalle _detalletrabajo in ordencabedeta.OrdenDetalles)
                {
                    _detalletrabajo.auxi_ordendetalle = 0;
                    _detalletrabajo.auxv_ordendetalle = string.Empty;
                    db.Entry(_detalletrabajo).State   = EntityState.Added;
                }

                await db.SaveChangesAsync();

                return(Ok("OK"));
            }
            catch (Exception ex)
            {
                return(Ok(ex.ToString()));

                throw;
            }
        }