コード例 #1
0
ファイル: MenuController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult getMenuByPersona()
        {
            List <MenuView> list                 = new List <MenuView>();
            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

            if (persona.EjecucionCorrecta)
            {
                list = db.Personas
                       .Where(p => p.Id == persona.Respuesta.Id)
                       .Select(p => p.Menu
                               .OrderBy(o => o.Nombre)
                               .ThenBy(o => o.SubMenu)
                               .ThenBy(o => o.Programa)
                               .Where(a => a.Activo == true)
                               .Select(v => new MenuView
                {
                    Nombre   = v.Nombre,
                    SubMenu  = v.SubMenu,
                    Programa = v.Programa,
                    Ruta     = v.Ruta
                }).ToList()
                               ).FirstOrDefault();
            }
            //return Json(new { list }, JsonRequestBehavior.AllowGet);
            return(Json(new { list }));
        }
コード例 #2
0
        public ActionResult Create(NoConformidad noConformidad)
        {
            if (ModelState.IsValid)
            {
                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());
                noConformidad.IdPersona = persona.Respuesta.Id;
                NoConformidadServicio servicio = new NoConformidadServicio(db);
                var respuesta = servicio.PutNoConformidad(noConformidad);

                if (respuesta.EjecucionCorrecta)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("error", "Serial is invalid");
                }
            }

            ViewBag.IdPersona    = new SelectList(db.Personas, "Id", "Nombre", noConformidad.IdPersona);
            ViewBag.IdSeccion    = new SelectList(db.ModuloSeccion, "Id", "Nombre", noConformidad.IdSeccion);
            ViewBag.IdWorkCenter = new SelectList(db.WorkCenters, "Id", "Nombre", noConformidad.IdWorkCenter);
            return(View(noConformidad));
        }
コード例 #3
0
        public ActionResult Create(StatusVentana statusVentana)
        {
            if (ModelState.IsValid)
            {
                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    statusVentana.IdResponsable = persona.Respuesta.Id;
                }

                var IdSubCategoria = db.Ventana.Where(x => x.Id == statusVentana.IdVentana).Select(x => x.IdSubCategoria).FirstOrDefault();

                WorkFlowServicio workflowServicio          = new WorkFlowServicio();
                IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(IdSubCategoria, statusVentana.IdStatus, false);

                statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id;
                statusVentana.Fecha    = DateTime.Now;
                if (statusVentana.Comentarios == null)
                {
                    statusVentana.Comentarios = " ";
                }
                db.StatusVentana.Add(statusVentana);
                db.SaveChanges();

                var ventana = db.Ventana
                              .Include(v => v.StatusVentana)
                              .Include(v => v.StatusVentana.Select(s => s.Status))
                              .Include(v => v.BitacoraVentana)
                              .Include(v => v.BitacoraVentana.Select(b => b.Estatus))
                              .Include(v => v.BitacoraVentana.Select(b => b.Rechazo))
                              .Include(v => v.Evento)
                              .Include(v => v.Proveedor)
                              .Where(x => x.Id == statusVentana.IdVentana)
                              .FirstOrDefault();

                try
                {
                    UsuarioServicio     usuarioServicio = new UsuarioServicio();
                    NotificationService notify          = new NotificationService();

                    string senders = usuarioServicio.GetEmailByStatus(ventana);

                    if (senders != "")
                    {
                        EmailService emailService = new EmailService();
                        emailService.SendMail(senders, ventana);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }

                return(RedirectToAction("Index", "Evento", new { Area = "Operaciones" }));
            }

            return(View(statusVentana));
        }
コード例 #4
0
        public ActionResult Create(BitacoraVentana bitacoraVentana)
        {
            ViewBag.IdRechazo = new SelectList(db.Rechazo.Select(x => new { Id = x.Id, Nombre = x.Nombre }).OrderBy(x => x.Nombre), "Id", "Nombre", bitacoraVentana.IdRechazo);

            if (ModelState.IsValid)
            {
                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    bitacoraVentana.IdResponsable = persona.Respuesta.Id;
                }

                Ventana ventana = db.Ventana
                                  .Include(v => v.StatusVentana)
                                  .Where(v => (v.Id == bitacoraVentana.IdVentana))
                                  .FirstOrDefault();

                Rechazo rechazo = db.Rechazo.Find(bitacoraVentana.IdRechazo);
                bitacoraVentana.IdStatus = rechazo.IdStatus;
                bitacoraVentana.Fecha    = DateTime.Now;

                db.BitacoraVentana.Add(bitacoraVentana);
                db.SaveChanges();

                saveStatusVentana(bitacoraVentana);

                return(RedirectToAction("Index", "Evento", new { Area = "Operaciones" }));
            }
            else
            {
                return(View(bitacoraVentana));
            }
        }
コード例 #5
0
ファイル: EventoController.cs プロジェクト: AdyeliTokens/PMMX
        //[RenderAjaxPartialScripts]
        public ActionResult GetEventsBySubCategoria(int IdSubCategoria, DateTime date)
        {
            if (ModelState.IsValid)
            {
                var lastDay  = DateTime.DaysInMonth(date.Year, date.Month);
                var LastDate = date.AddDays(lastDay - 1);

                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    List <EventoView> tmp    = ListEvents(date);
                    List <EventoView> events = new List <EventoView>();

                    var _puesto = db.Puestos.Where(p => p.Id == persona.Respuesta.IdPuesto)
                                  .Select(p => p.Nombre)
                                  .FirstOrDefault();

                    switch (_puesto)
                    {
                    case "Supplier":
                        var listR = db.EventoResponsable
                                    .Where(r => (r.IdResponsable == persona.Respuesta.Id) &&
                                           (r.Evento.FechaInicio >= date && r.Evento.FechaFin <= LastDate))
                                    .Select(r => r.IdEvento)
                                    .ToList();

                        if (IdSubCategoria == 1)
                        {
                            events = tmp.Where(e => (listR.Contains(e.Id)) && (e.SubCategoria.Tipo == "Local")).ToList();
                        }
                        else
                        {
                            events = tmp.Where(e => (listR.Contains(e.Id)) && (e.IdSubCategoria == IdSubCategoria)).ToList();
                        }
                        return(Json(new { events }, JsonRequestBehavior.AllowGet));

                    default:
                        if (IdSubCategoria == 1)
                        {
                            events = tmp.Where(e => (e.SubCategoria.Tipo == "Local")).ToList();
                        }
                        else
                        {
                            events = tmp.Where(e => (e.IdSubCategoria == IdSubCategoria)).ToList();
                        }
                        return(Json(new { events }, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json(new { status = 200 }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { status = 400 }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #6
0
        public ActionResult Edit(RegistroUnidad registroUnidad, DatosUnidad datos, DateTime date, string NombreGuardia, string Puerta)
        {
            if (ModelState.IsValid)
            {
                db.Entry(registroUnidad).State = EntityState.Modified;
                db.SaveChanges();

                // Editar otra Entidad

                /*var _datos = db.DatosUnidad.Where(d => d.IdRegistroUnidad == registroUnidad.Id).FirstOrDefault();
                 * _datos.NombreConductor = datos.NombreConductor;
                 * _datos.PlacasTractor = datos.PlacasTractor;
                 * _datos.NoEcoTractor = datos.NoEcoTractor;
                 * _datos.NoCaja = datos.NoCaja;
                 * _datos.TipoRemolque = datos.TipoRemolque;
                 * _datos.PlacasRemolque = datos.PlacasRemolque;
                 * _datos.NoEcoRemolque = datos.NoEcoRemolque;
                 * db.Entry(_datos).State = EntityState.Modified;
                 * db.SaveChanges();*/

                datos.PlacasTractor    = datos.PlacasTractor == null ? " " : datos.PlacasTractor;
                datos.NoEcoTractor     = datos.NoEcoTractor == null ? " " : datos.NoEcoTractor;
                datos.PlacasRemolque   = datos.PlacasRemolque == null ? " " : datos.PlacasRemolque;
                datos.NoEcoRemolque    = datos.NoEcoRemolque == null ? " " : datos.NoEcoRemolque;
                datos.TipoRemolque     = datos.TipoRemolque == null ? " " : datos.TipoRemolque;
                datos.NoCaja           = datos.NoCaja == null ? "" : datos.NoCaja;
                datos.IdRegistroUnidad = registroUnidad.Id;
                db.DatosUnidad.Add(datos);
                db.SaveChanges();

                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    BitacoraUnidad bitacora = new BitacoraUnidad();
                    bitacora.IdPersona     = persona.Respuesta.Id;
                    bitacora.NombreGuardia = NombreGuardia;
                    bitacora.Puerta        = Puerta == null
                        ? db.Formato.Where(f => f.Id == registroUnidad.IdFormato).Select(f => f.Puerta).FirstOrDefault()
                        : Puerta;

                    bitacora.Fecha            = date;
                    bitacora.IdRegistroUnidad = registroUnidad.Id;
                    bitacora.TipoMovimiento   = "Salida";
                    db.BitacoraUnidad.Add(bitacora);
                    db.SaveChanges();
                }

                return(RedirectToAction("Index", new { Codigo = db.Formato.Where(f => f.Id == registroUnidad.IdFormato).Select(f => f.Codigo).FirstOrDefault() }));
            }
            ViewBag.IdFormato = new SelectList(db.Formato, "Id", "Codigo", registroUnidad.IdFormato);
            return(View(registroUnidad));
        }
コード例 #7
0
ファイル: EventoController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult Create(Evento evento, int IdOrigen, string IdResponsables)
        {
            if (ModelState.IsValid)
            {
                if (evento.Nota == null)
                {
                    evento.Nota = " ";
                }

                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    evento.IdAsignador = persona.Respuesta.Id;
                    db.Evento.Add(evento);
                    db.SaveChanges();
                }

                if (IdOrigen > 0)
                {
                    EventoOrigen eOrigen = new EventoOrigen();
                    eOrigen.IdEvento = evento.Id;
                    eOrigen.IdOrigen = IdOrigen;
                    db.EventoOrigen.Add(eOrigen);
                    db.SaveChanges();
                }

                if (IdResponsables != null && IdResponsables != "")
                {
                    Char     delimiter  = ',';
                    String[] substrings = IdResponsables.Split(delimiter);
                    foreach (var substring in substrings)
                    {
                        if (substring != "")
                        {
                            EventoResponsable eResponsable = new EventoResponsable();
                            eResponsable.IdEvento      = evento.Id;
                            eResponsable.IdResponsable = int.Parse(substring);
                            db.EventoResponsable.Add(eResponsable);
                            db.SaveChanges();
                        }
                    }
                    SendNotification(evento, "New Event: ");
                }

                return(RedirectToAction("Index"));
            }

            return(View(evento));
        }
コード例 #8
0
        public Boolean changeEstatus(Ventana ventana)
        {
            if (ModelState.IsValid)
            {
                var estatus = new Estatus();

                estatus = db.StatusVentana
                          .Where(s => (s.IdVentana == ventana.Id))
                          .OrderByDescending(s => s.Fecha)
                          .Select(s => s.Status)
                          .FirstOrDefault();

                if (estatus == null)
                {
                    estatus = db.Estatus
                              .Where(e => e.IdCategoria == (db.SubCategoria.Where(s => s.Id == ventana.IdSubCategoria).Select(s => s.IdCategoria).FirstOrDefault()))
                              .FirstOrDefault();
                }

                WorkFlowServicio workflowServicio          = new WorkFlowServicio();
                IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, estatus.Id, false);

                if (workFlow.EjecucionCorrecta)
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                    StatusVentana statusVentana = new StatusVentana();
                    statusVentana.IdVentana     = ventana.Id;
                    statusVentana.IdResponsable = persona.Respuesta.Id;

                    if (estatus.Id == 0)
                    {
                        statusVentana.IdStatus = workFlow.Respuesta.EstatusInicial.Id;
                    }
                    else
                    {
                        statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id;
                    }

                    statusVentana.Fecha       = DateTime.Now;
                    statusVentana.Comentarios = " ";
                    db.StatusVentana.Add(statusVentana);
                    db.SaveChanges();
                }

                return(true);
            }
            return(false);
        }
コード例 #9
0
ファイル: MarcasController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult Create(Marca marca)
        {
            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

            marca.IdPersonaQueDioDeAlta = persona.Respuesta.Id;
            if (ModelState.IsValid)
            {
                db.Marcas.Add(marca);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(marca));
        }
コード例 #10
0
        public ActionResult Edit(Desperdicio desperdicio)
        {
            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

            desperdicio.IdPersona = persona.Respuesta.Id;
            desperdicio.Fecha     = DateTime.Now;
            if (ModelState.IsValid)
            {
                db.Entry(desperdicio).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.Code_FA      = new SelectList(db.Marcas.Select(x => new { Code_FA = x.Code_FA, Descripcion = x.Code_FA + " - " + x.Descripcion }), "Code_FA", "Descripcion");
            ViewBag.IdWorkCenter = new SelectList(db.WorkCenters, "Id", "NombreCorto", desperdicio.IdWorkCenter);
            return(View(desperdicio));
        }
コード例 #11
0
ファイル: EventoController.cs プロジェクト: AdyeliTokens/PMMX
        //[RenderAjaxPartialScripts]
        public ActionResult GetEvents(DateTime date)
        {
            if (ModelState.IsValid)
            {
                var             lastDay              = DateTime.DaysInMonth(date.Year, date.Month);
                var             LastDate             = date.AddDays(lastDay);
                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                if (persona.EjecucionCorrecta)
                {
                    List <EventoView> events = ListEvents(date);
                    var _puesto = db.Puestos.Where(p => p.Id == persona.Respuesta.IdPuesto).Select(p => p.Nombre).FirstOrDefault();

                    switch (_puesto)
                    {
                    case "Supplier":
                        var listID = db.EventoResponsable
                                     .Where(r => (r.IdResponsable == persona.Respuesta.Id) && (r.Evento.FechaInicio >= date && r.Evento.FechaFin <= LastDate))
                                     .Select(r => r.IdEvento)
                                     .ToList();

                        events = events.Where(e => (listID.Contains(e.Id))).ToList();

                        return(Json(new { events }, JsonRequestBehavior.AllowGet));

                    //case "Developer":
                    //    var listIDs = db.EventoResponsable
                    //        .Where(r => (r.IdResponsable == persona.Respuesta.Id) && (r.Evento.FechaInicio >= date && r.Evento.FechaFin <= LastDate))
                    //        .Select(r => r.IdEvento)
                    //        .ToList();

                    //    events = events.Where(e => (listIDs.Contains(e.Id))).ToList();

                    //    return Json(new { events }, JsonRequestBehavior.AllowGet);
                    default:
                        return(Json(new { events }, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json(new { status = 200 }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { status = 400 }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #12
0
 public ActionResult ChangeStatus(PMMX.Modelo.Entidades.Operaciones.BitacoraGembaWalk bitacora)
 {
     if (ModelState.IsValid)
     {
         PersonaServicio personaServicio      = new PersonaServicio();
         IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());
         if (persona.EjecucionCorrecta)
         {
             bitacora.IdResponsable = persona.Respuesta.Id;
             bitacora.Fecha         = DateTime.Now;
             bitacora.Comentario    = " ";
             db.BitacoraGembaWalks.Add(bitacora);
             db.SaveChanges();
             return(Json(new { status = 200 }));
         }
     }
     return(Json(new { status = 400 }));
 }
コード例 #13
0
ファイル: EventoController.cs プロジェクト: AdyeliTokens/PMMX
        public bool changeStatus(Evento evento)
        {
            Ventana ventana = db.Ventana
                              .Include(v => v.StatusVentana)
                              .Include(v => v.StatusVentana.Select(s => s.Status))
                              .Include(v => v.BitacoraVentana)
                              .Include(v => v.BitacoraVentana.Select(b => b.Estatus))
                              .Include(v => v.BitacoraVentana.Select(b => b.Rechazo))
                              .Include(v => v.Evento)
                              .Include(v => v.Proveedor)
                              .SingleOrDefault(x => x.IdEvento == evento.Id);

            if (ventana != null)
            {
                try
                {
                    WorkFlowServicio workflowServicio          = new WorkFlowServicio();
                    IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, ventana.StatusVentana.OrderByDescending(x => x.Fecha).Select(x => x.IdStatus).FirstOrDefault(), false);

                    StatusVentana statusVentana = new StatusVentana();
                    statusVentana.IdResponsable = evento.IdAsignador;
                    statusVentana.IdStatus      = workFlow.Respuesta.EstatusSiguiente.Id;
                    statusVentana.IdVentana     = ventana.Id;
                    statusVentana.Fecha         = DateTime.Now;
                    statusVentana.Comentarios   = "Se reagenda ventana";
                    db.StatusVentana.Add(statusVentana);
                    db.SaveChanges();

                    UsuarioServicio     usuarioServicio = new UsuarioServicio();
                    NotificationService notify          = new NotificationService();

                    string       senders      = usuarioServicio.GetEmailByStatus(ventana);
                    EmailService emailService = new EmailService();
                    emailService.SendMail(senders, ventana);
                    return(true);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }

            return(false);
        }
コード例 #14
0
        public ActionResult CreateComentario(Comentario comentario)
        {
            if (ModelState.IsValid)
            {
                PersonaServicio personaServicio      = new PersonaServicio();
                IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());
                if (persona.EjecucionCorrecta)
                {
                    comentario.IdComentador = persona.Respuesta.Id;
                    ComentarioServicio servicio = new ComentarioServicio();
                    RespuestaServicio <ComentarioView> respuesta = servicio.PostComentario(comentario);
                }
                else
                {
                }
            }

            return(RedirectToAction("Details/", new RouteValueDictionary(new { controller = "Defectos", action = "Details", Id = comentario.IdDefecto })));
        }
コード例 #15
0
        public ActionResult Create(Desperdicio desperdicio)
        {
            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

            desperdicio.IdPersona = persona.Respuesta.Id;
            desperdicio.Fecha     = DateTime.Now;
            DateTime hoy = DateTime.Now.Date;

            if (ModelState.IsValid)
            {
                db.Desperdicios.Add(desperdicio);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.Code_FA      = new SelectList(db.PlanDeProduccion.Where(x => x.Inicio <hoy && x.Fin> hoy).Select(x => new { Code_FA = x.Code_FA, Descripcion = x.Code_FA + " - " + x.Marca_FA.Descripcion }), "Code_FA", "Descripcion");
            ViewBag.IdWorkCenter = new SelectList(db.WorkCenters, "Id", "Nombre", desperdicio.IdWorkCenter);
            return(View(desperdicio));
        }
コード例 #16
0
        public JsonResult getPuestoByPersona()
        {
            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

            if (persona.EjecucionCorrecta)
            {
                var perfil = db.Puestos
                             .Where(w => w.Id == persona.Respuesta.IdPuesto)
                             .Select(s => s.Nombre)
                             .FirstOrDefault()
                             .ToString();

                //return Json(new { perfil }, JsonRequestBehavior.AllowGet);
                return(Json(new { perfil }));
            }

            //return Json(new { status = 400 }, JsonRequestBehavior.AllowGet);
            return(Json(new { status = 400 }));
        }
コード例 #17
0
        public IHttpActionResult PostBitacoraVentana(BitacoraVentana bitacoraVentana)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                Ventana ventana = db.Ventana
                                  .Include(v => v.StatusVentana)
                                  .Where(v => (v.Id == bitacoraVentana.IdVentana))
                                  .FirstOrDefault();

                WorkFlowServicio workflowServicio          = new WorkFlowServicio();
                IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, ventana.StatusVentana.Where(s => s.IdVentana == bitacoraVentana.IdVentana).OrderByDescending(s => s.Fecha).FirstOrDefault().IdStatus, true);

                if (workFlow.Respuesta != null)
                {
                    bitacoraVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id;
                }
                else
                {
                    workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, ventana.StatusVentana.Where(s => s.IdVentana == bitacoraVentana.IdVentana).OrderByDescending(s => s.Fecha).FirstOrDefault().IdStatus, false);
                    bitacoraVentana.IdStatus = workFlow.Respuesta.EstatusInicial.Id;
                }

                bitacoraVentana.Fecha = DateTime.Now.Date;

                db.BitacoraVentana.Add(bitacoraVentana);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            BitacoraVentana bitacoraVentanaAdded = db.BitacoraVentana.Find(bitacoraVentana.Id);

            return(Ok(bitacoraVentanaAdded));
        }
コード例 #18
0
ファイル: FotosController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult Usuario(string idUser)
        {
            string      folderName;
            PMMXContext db = new PMMXContext();

            PersonaServicio personaServicio      = new PersonaServicio();
            IRespuestaServicio <Persona> persona = personaServicio.GetPersona(idUser);

            if (persona.EjecucionCorrecta)
            {
                var query = db.Personas.Where(p => p.Id == persona.Respuesta.Id).Select(p => p.FotosPersonales.Where(f => f.Fecha != null));
                var fotos = query.FirstOrDefault();
                if (fotos.Count() > 0)
                {
                    folderName = fotos.OrderByDescending(w => w.Fecha).FirstOrDefault().Path;
                    if (!System.IO.File.Exists(folderName))
                    {
                        folderName = Server.MapPath("~/img/user-default.png");
                    }
                }
                else
                {
                    folderName = Server.MapPath("~/img/user-default.png");
                }
            }
            else
            {
                folderName = Server.MapPath("~/img/user-default.png");
            }



            WebClient client         = new WebClient();
            Stream    stream         = client.OpenRead(folderName);
            Bitmap    bitmap; bitmap = new Bitmap(stream);

            return(base.File(folderName, "image/png"));
        }
コード例 #19
0
        public ActionResult Upload(FechaInicioFin model, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    string fileName        = file.FileName;
                    string fileContentType = file.ContentType;
                    byte[] fileBytes       = new byte[file.ContentLength];
                    var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                    //var aliasWorkCenter = db.Alias.Include(w => w.WorkCenters).ToList();
                    var wcs   = db.WorkCenters.ToList();
                    var codes = db.Marcas.ToList();

                    var planes = new List <PlanDeProduccion>();
                    using (var package = new ExcelPackage(file.InputStream))
                    {
                        PersonaServicio personaServicio      = new PersonaServicio();
                        IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());


                        var currentSheet = package.Workbook.Worksheets;

                        foreach (var workSheet in currentSheet)
                        {
                            var noOfCol = workSheet.Dimension.End.Column;
                            var noOfRow = workSheet.Dimension.End.Row;

                            for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                            {
                                if (workSheet.Cells[rowIterator, 1].Value != null && workSheet.Cells[rowIterator, 1].Value.ToString() != "")
                                {
                                    var str          = workSheet.Cells[rowIterator, 7].Value.ToString().Trim();
                                    var wc           = str.Substring(str.Length - 2, 2);
                                    var idWorkCenter = wcs.Where(w => w.NombreCorto == wc).Select(w => w.Id).FirstOrDefault();
                                    if (idWorkCenter != null && idWorkCenter > 0)
                                    {
                                        string code_FA = workSheet.Cells[rowIterator, 3].Value.ToString().Trim();
                                        code_FA = code_FA.Replace(" ", "");
                                        var codeExist = codes.Where(w => w.Code_FA == code_FA).Select(w => w.Code_FA).Count();
                                        if (codeExist > 0)
                                        {
                                            var planDeProduccion = new PlanDeProduccion();

                                            planDeProduccion.IdUploader  = persona.Respuesta.Id;
                                            planDeProduccion.FechaSubida = DateTime.Now;

                                            planDeProduccion.Code_FA      = code_FA;
                                            planDeProduccion.Codigo       = workSheet.Cells[rowIterator, 1].Value.ToString().Trim();
                                            planDeProduccion.Cantidad     = Convert.ToDouble(workSheet.Cells[rowIterator, 8].Value.ToString().Trim());
                                            planDeProduccion.Activo       = true;
                                            planDeProduccion.ClaseDeOrden = workSheet.Cells[rowIterator, 16].Value.ToString().Trim();
                                            planDeProduccion.Inicio       = model.Inicio;
                                            planDeProduccion.Fin          = model.Fin;
                                            planDeProduccion.FechaSubida  = DateTime.Now;

                                            planDeProduccion.IdWorkCenter = idWorkCenter;


                                            planes.Add(planDeProduccion);
                                        }
                                    }
                                }
                            }
                        }

                        db.PlanDeProduccion.AddRange(planes);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    TempData["CustomError"] = "Sube un archivo por favor!!.";
                    return(View(model));
                }
            }

            return(View(model));
        }
コード例 #20
0
ファイル: EventoController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult Upload(HttpPostedFileBase file)
        {
            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));

                using (var package = new ExcelPackage(file.InputStream))
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                    var currentSheet = package.Workbook.Worksheets;

                    foreach (var workSheet in currentSheet)
                    {
                        var noOfCol = workSheet.Dimension.End.Column;
                        var noOfRow = workSheet.Dimension.End.Row;

                        for (var row = 2; row <= noOfRow; row++)
                        {
                            if (workSheet.Cells[row, 1].Value != null)
                            {
                                var    numSubCategoria = workSheet.Cells[row, 3].Value.ToString().Trim();
                                var    fecha           = DateTime.ParseExact(workSheet.Cells[row, 2].Value.ToString().Trim(), "dd/MM/yyyy hh:mm", null);
                                Evento evento          = new Evento();

                                evento.Descripcion    = workSheet.Cells[row, 1].Value == null ? string.Empty : workSheet.Cells[row, 1].Value.ToString().Trim();
                                evento.FechaInicio    = workSheet.Cells[row, 2].Value == null ? DateTime.Now : fecha;
                                evento.FechaFin       = evento.FechaFin.AddHours(1);
                                evento.IdAsignador    = persona.Respuesta.Id;
                                evento.IdCategoria    = db.Categoria.Where(c => c.NombreCorto == "Ventana").Select(c => c.Id).FirstOrDefault();
                                evento.IdSubCategoria = db.SubCategoria.Where(c => c.NombreCorto == numSubCategoria).Select(c => c.Id).FirstOrDefault() == 0
                                    ? db.Carrier.Where(c => c.NombreCorto == "DIMS Nacional").Select(c => c.Id).FirstOrDefault()
                                    : db.SubCategoria.Where(c => c.NombreCorto == numSubCategoria).Select(c => c.Id).FirstOrDefault();
                                evento.Nota   = " ";
                                evento.Activo = true;

                                db.Evento.Add(evento);
                                db.SaveChanges();

                                var proveedor         = workSheet.Cells[row, 4].Value.ToString().Trim();
                                var idSubArea         = db.SubArea.Where(f => f.NombreCorto == proveedor).Select(f => f.Id).FirstOrDefault();
                                var listaDistribucion = db.ListaDistribucion.Where(w => (w.IdSubarea == idSubArea)).Select(w => new { IdPersona = w.IdPersona }).ToList();

                                if (listaDistribucion.Count > 0)
                                {
                                    foreach (var item in listaDistribucion)
                                    {
                                        EventoResponsable eResponsable = new EventoResponsable();
                                        eResponsable.IdEvento      = evento.Id;
                                        eResponsable.IdResponsable = item.IdPersona;
                                        db.EventoResponsable.Add(eResponsable);
                                        db.SaveChanges();
                                    }
                                    SendNotification(evento, "New Event: ");
                                }
                            }
                        }
                        break;
                    }
                    return(RedirectToAction("Index", "Evento", new { Area = "Operaciones" }));
                }
            }
            return(View("Index"));
        }
コード例 #21
0
        public IHttpActionResult PostStatusVentana(StatusVentana statusVentana)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var IdSubCategoria = db.Ventana.Where(x => x.Id == statusVentana.IdVentana).Select(x => x.IdSubCategoria).FirstOrDefault();
                var IdActualStatus = db.StatusVentana.OrderByDescending(x => x.Fecha).Where(x => x.IdVentana == statusVentana.IdVentana).Select(x => x.IdStatus).FirstOrDefault();

                WorkFlowServicio workflowServicio          = new WorkFlowServicio();
                IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(IdSubCategoria, IdActualStatus, false);

                statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id;
                statusVentana.Fecha    = DateTime.Now;
                db.StatusVentana.Add(statusVentana);
                db.SaveChanges();

                var ventana = db.Ventana
                              .Include(v => v.StatusVentana)
                              .Include(v => v.StatusVentana.Select(s => s.Status))
                              .Include(v => v.BitacoraVentana)
                              .Include(v => v.BitacoraVentana.Select(b => b.Estatus))
                              .Include(v => v.BitacoraVentana.Select(b => b.Rechazo))
                              .Include(v => v.Evento)
                              .Where(x => x.Id == statusVentana.IdVentana)
                              .FirstOrDefault();

                UsuarioServicio     usuarioServicio = new UsuarioServicio();
                NotificationService notify          = new NotificationService();

                string senders = usuarioServicio.GetEmailByStatus(ventana);

                if (senders != "")
                {
                    EmailService emailService = new EmailService();
                    emailService.SendMail(senders, ventana);
                }

                List <DispositivoView> dispositivos = usuarioServicio.GetDispositivoByEvento(statusVentana.Ventana.IdEvento);
                List <string>          llaves       = dispositivos.Select(x => x.Llave).ToList();
                var estatus = ventana.StatusVentana.OrderByDescending(s => s.Fecha).Select(s => s.Status).FirstOrDefault();

                if (llaves.Count > 0)
                {
                    foreach (string notificacion in llaves)
                    {
                        notify.SendPushNotification(notificacion, " Cambio de estatus Ventana: " + ventana.Evento.Descripcion + ". ", " Cambio de estatus a " + estatus.Nombre);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            StatusVentana statusVentanaAdded = db.StatusVentana.Find(statusVentana.Id);

            return(Ok(statusVentanaAdded));
        }
コード例 #22
0
ファイル: MarcasController.cs プロジェクト: AdyeliTokens/PMMX
        public ActionResult Upload(HttpPostedFileBase file)
        {
            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                //var aliasWorkCenter = db.Alias.Include(w => w.WorkCenters).ToList();
                var wcs = db.WorkCenters.ToList();

                var marcas = new List <Marca>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());


                    var currentSheet = package.Workbook.Worksheets;

                    foreach (var workSheet in currentSheet)
                    {
                        var noOfCol = workSheet.Dimension.End.Column;
                        var noOfRow = workSheet.Dimension.End.Row;

                        for (int rowIterator = 4; rowIterator <= noOfRow; rowIterator++)
                        {
                            if (workSheet.Cells[rowIterator, 3].Value != null)
                            {
                                string code_FA = workSheet.Cells[rowIterator, 3].Value.ToString().Trim();
                                code_FA = code_FA.Replace(" ", "");

                                if (marcas.Where(m => m.Code_FA == code_FA).Count() == 0)
                                {
                                    var marca = new Marca();

                                    marca.IdPersonaQueDioDeAlta = persona.Respuesta.Id;
                                    marca.FechaDeAlta           = DateTime.Now;

                                    marca.Code_FA           = code_FA;
                                    marca.Descripcion       = workSheet.Cells[rowIterator, 4].Value.ToString().Trim();
                                    marca.Codigo_Cigarrillo = workSheet.Cells[rowIterator, 6].Value.ToString().Trim();
                                    marca.Activo            = false;

                                    if (workSheet.Cells[rowIterator, 9].Value != null)
                                    {
                                        marca.PesoPorCigarrillo = Convert.ToDouble(workSheet.Cells[rowIterator, 9].Value.ToString().Trim());
                                        marca.Activo            = true;
                                    }
                                    if (workSheet.Cells[rowIterator, 12].Value != null)
                                    {
                                        marca.PesoTabacco = Convert.ToDouble(workSheet.Cells[rowIterator, 12].Value.ToString().Trim());
                                    }
                                    marcas.Add(marca);
                                }
                            }
                        }
                    }



                    db.Marcas.AddRange(marcas);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View("Index"));
        }
コード例 #23
0
        public ActionResult Upload(HttpPostedFileBase file)
        {
            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                //var aliasWorkCenter = db.Alias.Include(w => w.WorkCenters).ToList();
                var wcs = db.WorkCenters.ToList();

                var volumenesDeProduccion = new List <VolumenDeProduccion>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());


                    var currentSheet = package.Workbook.Worksheets;

                    foreach (var workSheet in currentSheet)
                    {
                        var noOfCol = workSheet.Dimension.End.Column;
                        var noOfRow = workSheet.Dimension.End.Row;

                        for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                        {
                            if (workSheet.Cells[rowIterator, 3].Value != null)
                            {
                                string code_FA = workSheet.Cells[rowIterator, 2].Value.ToString().Trim();
                                code_FA = code_FA.Replace(" ", "");
                                var voumen      = new VolumenDeProduccion();
                                var nombreCorto = workSheet.Cells[rowIterator, 1].Value.ToString().Trim().Substring(32, 2);
                                var workCenter  = wcs.Where(w => w.NombreCorto == nombreCorto).FirstOrDefault();
                                if (workCenter != null)
                                {
                                    int id = workCenter.Id;
                                    voumen.IdWorkCenter = id;

                                    voumen.IdPersona = persona.Respuesta.Id;
                                    voumen.Fecha     = DateTime.Now;


                                    voumen.Container = workSheet.Cells[rowIterator, 1].Value.ToString().Trim();
                                    voumen.Code_FA   = code_FA;

                                    voumen.Source_WH  = workSheet.Cells[rowIterator, 3].Value.ToString().Trim();
                                    voumen.Source_Loc = workSheet.Cells[rowIterator, 4].Value.ToString().Trim();
                                    voumen.Dest_WH    = workSheet.Cells[rowIterator, 5].Value.ToString().Trim();
                                    voumen.Dest_Loc   = workSheet.Cells[rowIterator, 6].Value.ToString().Trim();
                                    voumen.Old_Qty    = Convert.ToDouble(workSheet.Cells[rowIterator, 7].Value.ToString().Trim());
                                    voumen.New_Qty    = Convert.ToDouble(workSheet.Cells[rowIterator, 8].Value.ToString().Trim());
                                    voumen.UOM        = workSheet.Cells[rowIterator, 9].Value.ToString().Trim();
                                    voumen.SAP_Batch  = workSheet.Cells[rowIterator, 10].Value.ToString().Trim();


                                    volumenesDeProduccion.Add(voumen);
                                }
                            }
                        }
                    }



                    db.VolumenesDeProduccion.AddRange(volumenesDeProduccion);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View("Index"));
        }
コード例 #24
0
        public ActionResult Upload(HttpPostedFileBase file, Ventana ventana)
        {
            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));

                ViewBag.SelectSubCategoria = new SelectList(db.SubCategoria.Where(x => (x.IdCategoria == 10)).Select(x => new { Id = x.Id, Nombre = x.Nombre }).OrderBy(x => x.Nombre), "Id", "Nombre", ventana.IdSubCategoria);
                ViewBag.SelectOperacion    = new SelectList(db.TipoOperacion.Select(x => new { Id = x.Id, Nombre = x.Nombre }).OrderBy(x => x.Nombre), "Id", "Nombre", ventana.IdOperacion);

                using (var package = new ExcelPackage(file.InputStream))
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());

                    var currentSheet = package.Workbook.Worksheets;

                    foreach (var workSheet in currentSheet)
                    {
                        var noOfCol = workSheet.Dimension.End.Column;
                        var noOfRow = workSheet.Dimension.End.Row;

                        if (workSheet.Cells[3, 2].Value != null)
                        {
                            ventana.PO = workSheet.Cells[2, 2].Value == null ? string.Empty : workSheet.Cells[2, 2].Value.ToString().Trim();
                            var numProveedor = Convert.ToInt32(workSheet.Cells[3, 2].Value.ToString().Trim());
                            ventana.IdProveedor   = db.Proveedores.Where(p => (p.NumeroProveedor == numProveedor)).Select(p => p.Id).FirstOrDefault();
                            ventana.Recurso       = workSheet.Cells[4, 2].Value == null ? string.Empty : workSheet.Cells[4, 2].Value.ToString().Trim();
                            ventana.Cantidad      = workSheet.Cells[5, 2].Value == null ? string.Empty : workSheet.Cells[5, 2].Value.ToString().Trim();
                            ventana.NombreCarrier = workSheet.Cells[6, 2].Value == null ? string.Empty : workSheet.Cells[6, 2].Value.ToString().Trim();
                            ventana.IdCarrier     = db.Carrier.Where(c => c.NombreCorto == ventana.NombreCarrier).Select(c => c.Id).FirstOrDefault() == 0
                                ? db.Carrier.Where(c => c.NombreCorto == "NO CONFIRMADO").Select(c => c.Id).FirstOrDefault()
                                : db.Carrier.Where(c => c.NombreCorto == ventana.NombreCarrier).Select(c => c.Id).FirstOrDefault();
                            ventana.Conductor      = workSheet.Cells[7, 2].Value == null ? string.Empty : workSheet.Cells[7, 2].Value.ToString().Trim();
                            ventana.MovilConductor = workSheet.Cells[8, 2].Value == null ? string.Empty : workSheet.Cells[8, 2].Value.ToString().Trim();
                            var nombreCorto = workSheet.Cells[9, 2].Value == null ? "MX" : workSheet.Cells[9, 2].Value.ToString().Trim();
                            ventana.IdProcedencia = db.Locacion.Where(l => l.NombreCorto == nombreCorto).Select(l => l.Id).FirstOrDefault() == 0
                                ? db.Locacion.Where(l => l.NombreCorto == "MX").Select(l => l.Id).FirstOrDefault()
                                : db.Locacion.Where(l => l.NombreCorto == nombreCorto).Select(l => l.Id).FirstOrDefault();
                            nombreCorto       = workSheet.Cells[10, 2].Value == null ? "MX" : workSheet.Cells[10, 2].Value.ToString().Trim();
                            ventana.IdDestino = db.Locacion.Where(l => l.NombreCorto == nombreCorto).Select(l => l.Id).FirstOrDefault() == 0
                                ? db.Locacion.Where(l => l.NombreCorto == "MX").Select(l => l.Id).FirstOrDefault()
                                : db.Locacion.Where(l => l.NombreCorto == nombreCorto).Select(l => l.Id).FirstOrDefault();
                            ventana.NumeroEconomico   = workSheet.Cells[11, 2].Value == null ? string.Empty : workSheet.Cells[11, 2].Value.ToString().Trim();
                            ventana.NumeroPlaca       = workSheet.Cells[12, 2].Value == null ? string.Empty : workSheet.Cells[12, 2].Value.ToString().Trim();
                            ventana.EconomicoRemolque = workSheet.Cells[13, 2].Value == null ? string.Empty : workSheet.Cells[13, 2].Value.ToString().Trim();
                            ventana.PlacaRemolque     = workSheet.Cells[14, 2].Value == null ? string.Empty : workSheet.Cells[14, 2].Value.ToString().Trim();
                            ventana.ModeloContenedor  = workSheet.Cells[15, 2].Value == null ? string.Empty : workSheet.Cells[15, 2].Value.ToString().Trim();
                            ventana.ColorContenedor   = workSheet.Cells[16, 2].Value == null ? string.Empty : workSheet.Cells[16, 2].Value.ToString().Trim();
                            ventana.Sellos            = workSheet.Cells[17, 2].Value == null ? string.Empty : workSheet.Cells[17, 2].Value.ToString().Trim();
                            ventana.TipoUnidad        = workSheet.Cells[18, 2].Value == null ? string.Empty : workSheet.Cells[18, 2].Value.ToString().Trim();
                            ventana.Dimension         = workSheet.Cells[19, 2].Value == null ? string.Empty : workSheet.Cells[19, 2].Value.ToString().Trim();
                            ventana.Temperatura       = workSheet.Cells[20, 2].Value == null ? string.Empty : workSheet.Cells[20, 2].Value.ToString().Trim();

                            db.Ventana.Add(ventana);
                            db.SaveChanges();

                            Evento evento = db.Evento.Find(ventana.IdEvento);
                            evento.IdSubCategoria  = ventana.IdSubCategoria;
                            db.Entry(evento).State = EntityState.Modified;
                            db.SaveChanges();

                            for (int i = 0; i < 3; i++)
                            {
                                changeEstatus(ventana);
                            }
                        }
                    }
                    return(RedirectToAction("Index", "Evento", new { Area = "Operaciones" }));
                }
            }
            return(View("Index"));
        }
コード例 #25
0
        public ActionResult Upload(HttpPostedFileBase file)
        {
            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                var    aliasWorkCenter = db.Alias.Include(w => w.WorkCenters).ToList();
                var    wcs             = db.WorkCenters.ToList();

                var noConformidades = new List <NoConformidad>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    PersonaServicio personaServicio      = new PersonaServicio();
                    IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId());


                    var currentSheet = package.Workbook.Worksheets;

                    foreach (var workSheet in currentSheet)
                    {
                        var noOfCol   = workSheet.Dimension.End.Column;
                        var noOfRow   = workSheet.Dimension.End.Row;
                        int idseccion = 0;

                        for (int rowIterator = 3; rowIterator <= noOfRow; rowIterator++)
                        {
                            if (workSheet.Cells[rowIterator, 6].Value != null)
                            {
                                if (workSheet.Cells[rowIterator, 6].Value.ToString() != "")
                                {
                                    var noconformidad = new NoConformidad();


                                    noconformidad.IdPersona = persona.Respuesta.Id;
                                    String fechaCadena = workSheet.Cells[rowIterator, 2].Value.ToString().Trim();
                                    noconformidad.Fecha = DateTime.ParseExact(fechaCadena, "dd/MM/yyyy", null);

                                    if (workSheet.Cells[rowIterator, 5].Value.ToString().Trim() == "Cigarettes")
                                    {
                                        idseccion = 2;
                                    }
                                    else if (workSheet.Cells[rowIterator, 5].Value.ToString().Trim() == "Packs")
                                    {
                                        idseccion = 1;
                                    }
                                    noconformidad.IdSeccion = idseccion;


                                    noconformidad.Code             = workSheet.Cells[rowIterator, 6].Value.ToString().Trim();
                                    noconformidad.CodeDescription  = workSheet.Cells[rowIterator, 7].Value.ToString().Trim();
                                    noconformidad.Calificacion_VQI = Convert.ToInt32(Convert.ToDouble(workSheet.Cells[rowIterator, 8].Value.ToString().Trim()));



                                    var str     = workSheet.Cells[rowIterator, 3].Value.ToString().Trim();
                                    var palabra = str.Substring(0, str.IndexOf(" "));
                                    var wc      = palabra.Substring(palabra.Length - 2, 2);

                                    //var idWorkCenter = aliasWorkCenter.Where(w => w.Nombre == palabra).Select(a => a.WorkCenters.Select(f=> f.Id).FirstOrDefault()).FirstOrDefault();
                                    var idWorkCenter = wcs.Where(w => w.NombreCorto == wc).Select(w => w.Id).FirstOrDefault();
                                    noconformidad.IdWorkCenter = idWorkCenter;



                                    noConformidades.Add(noconformidad);
                                }
                            }
                        }
                    }



                    db.NoConformidades.AddRange(noConformidades);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View("Index"));
        }