public string CrearRequerimiento(RESERVA_HORA reserva, List <SERVICIOS_X_DIAGNOSTICO> serviciosDiagnostico, List <PRODUCTOS_X_DIAGNOSTICO> productosDiagnostico, DIAGNOSTICO diagnostico)
        {
            try
            {
                EntitiesServiexpress con = new EntitiesServiexpress();
                con.RESERVA_HORA.Add(reserva);
                con.SaveChanges();
                var _reserva = (from a in con.RESERVA_HORA
                                orderby a.ID descending
                                select a).FirstOrDefault();

                var _ultidiagnostico = (from a in con.DIAGNOSTICO
                                        orderby a.ID descending
                                        select a.ID).FirstOrDefault();

                diagnostico.RESERVA_HORA_ID = _reserva.ID;
                diagnostico.ID = int.Parse(_ultidiagnostico.ToString()) + 1;
                con.DIAGNOSTICO.Add(diagnostico);
                con.SaveChanges();
                var _diagnostico = (from a in con.DIAGNOSTICO
                                    orderby a.ID descending
                                    select a).FirstOrDefault();
                foreach (var fila in serviciosDiagnostico)
                {
                    decimal ultimo = (from a in con.SERVICIOS_X_DIAGNOSTICO
                                      orderby a.ID_SXD descending
                                      select a.ID_SXD).FirstOrDefault();
                    fila.ID_DIAGNOSTICO = _diagnostico.ID;
                    fila.ID_SXD         = ultimo + 1;
                    con.SERVICIOS_X_DIAGNOSTICO.Add(fila);
                    con.SaveChanges();
                }
                foreach (var fila in productosDiagnostico)
                {
                    decimal ultimo = (from a in con.PRODUCTOS_X_DIAGNOSTICO
                                      orderby a.ID_PXD descending
                                      select a.ID_PXD).FirstOrDefault();
                    fila.ID_DIAGNOSTICO = _diagnostico.ID;
                    fila.ID_PXD         = ultimo + 1;
                    con.PRODUCTOS_X_DIAGNOSTICO.Add(fila);
                    con.SaveChanges();

                    var producto = (from a in con.PRODUCTO
                                    where a.ID == fila.ID_PRODUCTO
                                    select a).FirstOrDefault();
                    producto.STOCK = int.Parse(producto.STOCK.ToString()) - int.Parse(fila.CANTIDAD_PROD.ToString());
                    con.SaveChanges();
                }
                return("creado");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string ActualizarRequerimiento(RESERVA_HORA reserva, List <SERVICIOS_X_DIAGNOSTICO> serviciosDiagnostico, List <PRODUCTOS_X_DIAGNOSTICO> productosDiagnostico, DIAGNOSTICO diagnostico)
        {
            try
            {
                EntitiesServiexpress con = new EntitiesServiexpress();
                var _reserva             = (from a in con.RESERVA_HORA
                                            where a.ID == reserva.ID
                                            select a).FirstOrDefault();

                _reserva.FECHA_ULTIMO_UPDATE = reserva.FECHA_ULTIMO_UPDATE;
                _reserva.ORSERVACION_FINAL   = reserva.ORSERVACION_FINAL;
                con.SaveChanges();

                var _diagnostico = (from a in con.DIAGNOSTICO
                                    where a.ID == diagnostico.ID
                                    select a).FirstOrDefault();
                _diagnostico.FECHA_ULTIMO_UPDATE = diagnostico.FECHA_ULTIMO_UPDATE;
                _diagnostico.VALOR_FINAL         = diagnostico.VALOR_FINAL;
                _diagnostico.ESTADO_DIAGNOSTICO  = diagnostico.ESTADO_DIAGNOSTICO;
                con.SaveChanges();

                var serviciosViejos = (from a in con.SERVICIOS_X_DIAGNOSTICO
                                       where a.ID_DIAGNOSTICO == diagnostico.ID
                                       select a).ToList();
                foreach (var fila in serviciosViejos)
                {
                    con.SERVICIOS_X_DIAGNOSTICO.Remove(fila);
                    con.SaveChanges();
                }

                foreach (var fila in serviciosDiagnostico)
                {
                    decimal ultimo = (from a in con.SERVICIOS_X_DIAGNOSTICO
                                      orderby a.ID_SXD descending
                                      select a.ID_SXD).FirstOrDefault();
                    fila.ID_DIAGNOSTICO = diagnostico.ID;
                    fila.ID_SXD         = ultimo + 1;
                    con.SERVICIOS_X_DIAGNOSTICO.Add(fila);
                    con.SaveChanges();
                }
                var productosViejos = (from a in con.PRODUCTOS_X_DIAGNOSTICO
                                       where a.ID_DIAGNOSTICO == diagnostico.ID
                                       select a).ToList();
                foreach (var fila in productosViejos)
                {
                    con.PRODUCTOS_X_DIAGNOSTICO.Remove(fila);
                    con.SaveChanges();
                }
                foreach (var fila in productosDiagnostico)
                {
                    decimal ultimo = (from a in con.PRODUCTOS_X_DIAGNOSTICO
                                      orderby a.ID_PXD descending
                                      select a.ID_PXD).FirstOrDefault();
                    fila.ID_DIAGNOSTICO = diagnostico.ID;
                    fila.ID_PXD         = ultimo + 1;
                    con.PRODUCTOS_X_DIAGNOSTICO.Add(fila);
                    con.SaveChanges();

                    var producto = (from a in con.PRODUCTO
                                    where a.ID == fila.ID_PRODUCTO
                                    select a).FirstOrDefault();
                    producto.STOCK = int.Parse(producto.STOCK.ToString()) - int.Parse(fila.CANTIDAD_PROD.ToString());
                    con.SaveChanges();
                }
                return("actualizado");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }