Пример #1
0
        public ActionResult AgregarNota(agenda_mensajero agendaMensajero, int?menu)
        {
            agenda_mensajero agenda = db.agenda_mensajero.Find(agendaMensajero.id);

            agenda.notas_inconformidad = agendaMensajero.notas_inconformidad;
            db.Entry(agenda).State     = EntityState.Modified;
            int resultado = db.SaveChanges();


            if (resultado == 1)
            {
                TempData["mensaje"] = " Cita creada correctamente";
            }
            else
            {
                TempData["mensaje_error"] = "Error al crear la Cita, por favor valide los datos";
            }
            return(RedirectToAction("Index", new { menu }));
        }
Пример #2
0
        public ActionResult EditarMensajeria(agenda_mensajero agendaMensajero, int?menu)
        {
            if (ModelState.IsValid)
            {
                bool citas = true;

                citas = CalcularDisponible(agendaMensajero.idmensajero, DateTime.Now, agendaMensajero.desde,
                                           agendaMensajero.hasta);

                if (citas)
                {
                    agenda_mensajero agenda = db.agenda_mensajero.Find(agendaMensajero.id);

                    agenda.desde                = agendaMensajero.desde;
                    agenda.hasta                = agendaMensajero.hasta;
                    agenda.descripcion          = agendaMensajero.descripcion;
                    agenda.fec_actualizacion    = DateTime.Now;
                    agenda.idestado             = agendaMensajero.idestado;
                    agenda.idmensajero          = agendaMensajero.idmensajero;
                    agenda.bodega_destino       = agendaMensajero.bodega_destino;
                    agenda.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]);
                    agenda.idPrioridad          = agendaMensajero.idPrioridad;
                    agenda.idTransporte         = agendaMensajero.idTransporte;


                    db.Entry(agenda).State = EntityState.Modified;
                    try
                    {
                        int result = db.SaveChanges();
                        if (result == 1)
                        {
                            TempData["mensaje"] = " Cita editada correctamente";
                        }
                        else
                        {
                            TempData["mensaje_error"] = " Error al editar la Cita, por favor valide los datos";
                        }
                    }
                    catch (DbEntityValidationException dbEx)
                    {
                        Exception raise = dbEx;
                        foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                            {
                                string message = string.Format("{0}:{1}",
                                                               validationErrors.Entry.Entity,
                                                               validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                raise = new InvalidOperationException(message, raise);
                                TempData["mensaje_error"] = raise;
                                return(RedirectToAction("Index", new { menu }));
                            }
                        }

                        throw raise;
                    }
                }
                else
                {
                    TempData["mensaje_error"] =
                        "Ya tiene una cita agendada para el rango de fecha y hora ingresados, por favor valide";
                }
            }
            else
            {
                //TempData["mensaje_error"] = "Errores en la creación del pedido, por favor valide";
                System.Collections.Generic.List <ModelErrorCollection> errors = ModelState.Select(x => x.Value.Errors)
                                                                                .Where(y => y.Count > 0)
                                                                                .ToList();
            }

            return(RedirectToAction("Index", new { menu }));
        }
Пример #3
0
        public JsonResult CrearMensajeria(agenda_mensajero agendaMensajero, int[] idEncabezados)
        {
            if (Session["user_usuarioid"] != null)
            {
                var dataResult = 0;
                var id         = idEncabezados[0];

                if (ModelState.IsValid)
                {
                    using (DbContextTransaction dbTran = db.Database.BeginTransaction())
                    {
                        try
                        {
                            bool citas = CalcularDisponible(agendaMensajero.idmensajero, DateTime.Now, agendaMensajero.desde,
                                                            agendaMensajero.hasta);
                            if (citas)
                            {
                                if (agendaMensajero.hasta > agendaMensajero.desde)
                                {
                                    agendaMensajero.desde = agendaMensajero.desde;
                                    agendaMensajero.hasta = agendaMensajero.hasta;
                                    //agendaMensajero.idestado = agendaMensajero.idestado;/*1*/
                                    agendaMensajero.idestado             = 3;
                                    agendaMensajero.idPrioridad          = agendaMensajero.idPrioridad;                /*10*/
                                    agendaMensajero.idTransporte         = agendaMensajero.idTransporte;               /*11*/
                                    agendaMensajero.idmensajero          = agendaMensajero.idmensajero;                /*2*/
                                    agendaMensajero.descripcion          = agendaMensajero.descripcion;
                                    agendaMensajero.destino_bodega       = agendaMensajero.destino_bodega;             /*4*/
                                    agendaMensajero.userid_creacion      = Convert.ToInt32(Session["user_usuarioid"]); /*6*/
                                    agendaMensajero.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); /*7*/
                                    agendaMensajero.fec_creacion         = DateTime.Now;
                                    agendaMensajero.fec_actualizacion    = DateTime.Now;

                                    //agendaMensajero.titulo = agendaMensajero.titulo;
                                    //agendaMensajero.motivo = agendaMensajero.motivo;
                                    //agendaMensajero.origen_bodega = agendaMensajero.origen_bodega;
                                    agendaMensajero.origen_bodega = Convert.ToInt32(Session["user_bodega"]); /*3*/

                                    /*
                                     * agendaMensajero.idTraslado = agendaMensajero.idTraslado;
                                     * agendaMensajero.idEncabezado = Convert.ToInt32(arreglo1[3]);
                                     */
                                    db.agenda_mensajero.Add(agendaMensajero);
                                    int result = db.SaveChanges();

                                    var buscar = agendaMensajero.id;

                                    for (int i = 0; i < idEncabezados.Length; i++)
                                    {
                                        var tmp = idEncabezados[i];

                                        var documento = db.recibidotraslados.Where(d => d.id == tmp && d.lineas_documento.mensajeria_atendido == false && d.encab_documento.requiere_mensajeria == true).FirstOrDefault();

                                        detalle_agendamiento detalle = new detalle_agendamiento();

                                        detalle.fk_agendamiento     = buscar;
                                        detalle.fk_encab_documento  = documento.idtraslado;
                                        detalle.fk_recibidotraslado = documento.id;

                                        db.detalle_agendamiento.Add(detalle);
                                        int resultado1 = db.SaveChanges();
                                        //al detalle del traslado le tengo que cambiar el estado
                                        documento.estado_traslado = 3;
                                        db.Entry(documento).State = EntityState.Modified;
                                        //marco la linea documento como que ya se atendió
                                        var linea = db.lineas_documento.Where(d => d.id == documento.idlinea).FirstOrDefault();
                                        linea.mensajeria_atendido = true;
                                        db.Entry(linea).State     = EntityState.Modified;
                                        int resultado = db.SaveChanges();

                                        //busco el encabezado si tiene otras lineas que no sean estas y que tengan requiere_mensajeria
                                        var otras_lineas = db.lineas_documento.Where(d => d.id_encabezado == documento.idtraslado && d.mensajeria_atendido == false && d.encab_documento.requiere_mensajeria == true).Count();
                                        if (otras_lineas == 0)
                                        {
                                            var encab = db.encab_documento.Where(d => d.idencabezado == documento.idtraslado).FirstOrDefault();
                                            encab.mensajeria_atendido = true;
                                            db.Entry(linea).State     = EntityState.Modified;
                                            //busco la solicitud de traslado asociada
                                            var soli = db.Solicitud_traslado.Where(d => d.Id == encab.id_solicitud_traslado).FirstOrDefault();
                                            if (soli != null)
                                            {
                                                soli.Estado_atendido = 3;
                                            }
                                            int resultado2 = db.SaveChanges();
                                        }
                                    }


                                    if (result == 1)
                                    {
                                        dbTran.Commit();
                                        //dataResult = "Agenda creada correctamente";
                                        dataResult = 1;
                                    }
                                    else
                                    {
                                        dbTran.Rollback();
                                        //dataResult = "Error al crear la Agenda, por favor valide los datos";
                                        dataResult = 0;
                                    }
                                }
                                else
                                {
                                    dbTran.Rollback();
                                    //dataResult = "La fecha final de la agenda debe ser mayor a la inicial, por favor valide";
                                    dataResult = 2;
                                }
                            }
                            else
                            {
                                dbTran.Rollback();
                                //dataResult = "Ya tiene una agenda para el día y hora ingresados, por favor valide";
                                dataResult = 3;
                            }
                        }
                        catch (Exception ex)
                        {
                            var error = ex.InnerException.Message;
                            dbTran.Rollback();
                            dataResult = 0;
                        }
                    }
                }
                return(Json(dataResult, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
        }
Пример #4
0
        public ActionResult cambiarEstado(agenda_mensajero agendaMensajero, int?menu, int[] mensajerias)
        {
            var dataResult = 0;

            for (int i = 0; i < mensajerias.Length; i++)
            {
                var tmp = mensajerias[i];

                agenda_mensajero agenda = db.agenda_mensajero.Find(tmp);
                var error = 0;
                if (agenda != null)
                {
                    agenda.idestado = 4;

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

                    //busco los recibidotraslados asociados a los detalles (si los hay) y le cambio el estado a 4

                    var detalles = db.detalle_agendamiento.Where(d => d.fk_agendamiento == tmp).ToList();
                    if (detalles.Count > 0)
                    {
                        foreach (var item2 in detalles)
                        {
                            if (item2.recibidotraslados != null)
                            {
                                //busco el recibidotraslado y le pongo el estado 4 (despachado)
                                var reci = db.recibidotraslados.Where(d => d.id == item2.fk_recibidotraslado).FirstOrDefault();
                                if (reci != null)
                                {
                                    reci.estado_traslado = 4;
                                    db.Entry(reci).State = EntityState.Modified;
                                }
                                int resultado = db.SaveChanges();
                                if (resultado == 0)
                                {
                                    error = 1;
                                    break;
                                }
                                //busco si hay otros recibidotraslado para este encabezado que tengan estado menor a 4
                                var existenpendientes = db.recibidotraslados.Where(d => d.id != item2.fk_recibidotraslado && d.estado_traslado < 4).Count();
                                if (existenpendientes == 0)
                                {
                                    //actualizo la solicitud de traslado asociada
                                    var enca = db.encab_documento.Where(d => d.idencabezado == item2.fk_encab_documento).FirstOrDefault();
                                    if (enca != null)
                                    {
                                        if (enca.id_solicitud_traslado != null)
                                        {
                                            var soli = db.Solicitud_traslado.Where(d => d.Id == enca.id_solicitud_traslado).FirstOrDefault();
                                            if (soli != null)
                                            {
                                                soli.Estado_atendido = 4;
                                                db.Entry(soli).State = EntityState.Modified;
                                                var guar = db.SaveChanges();
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    if (error == 0)
                    {
                        TempData["mensaje"] = "Cambio de Estado correctamente";
                        dataResult          = 1;
                    }
                    else
                    {
                        TempData["mensaje_error"] = "Error al cambiar el estado, por favor valide los datos";
                        dataResult = 0;
                        // break;
                    }
                }
                else
                {
                    TempData["mensaje_error"] = "Error al cambiar el estado, por favor valide los datos (numero de cita no válido)";
                    dataResult = 0;
                    //break;
                }
            }


            return(Json(dataResult, JsonRequestBehavior.AllowGet));
        }