Exemple #1
0
 public ActionResult Edit([Bind(Include = "idJustificacion,fecha,idUsuario,asunto,texto,estado")] Justificacion justificacion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(justificacion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idUsuario = new SelectList(db.Usuario, "idUsuario", "nombre", justificacion.idUsuario);
     return(View(justificacion));
 }
Exemple #2
0
        // GET: Justificaciones/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Justificacion justificacion = db.Justificacion.Find(id);

            if (justificacion == null)
            {
                return(HttpNotFound());
            }
            return(View(justificacion));
        }
Exemple #3
0
        // GET: Justificaciones/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Justificacion justificacion = db.Justificacion.Find(id);

            if (justificacion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idUsuario = new SelectList(db.Usuario, "idUsuario", "nombre", justificacion.idUsuario);
            return(View(justificacion));
        }
        /// <summary>
        /// Método que da acción al botón registrar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            var oJustificacion = new Justificacion()
            {
                idPersona          = Int32.Parse(ddlColaborador.SelectedValue),
                Motivo             = Int32.Parse(ddlMotivo.SelectedValue),
                fechaJustificacion = dtFecha.Value,
                horaInicio         = txtHoradesde.Value,
                horaFin            = txtHoraHasta.Value,
                observaciones      = taObs.Value,
                idPersonaregistro  = Int32.Parse(Session["idPersona"].ToString()),
            };

            try
            {
                servicio.RegistrarJustificacion(oJustificacion);
            }catch (Exception ex)
            {
                FailureText.Text     = "Se presento un problema al procesar la información.";
                ErrorMessage.Visible = true;
            }
        }
        //Método que da funcionalidad al botón Aceptar
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                //se crea la nueva instancia del objeto para cargar los datos a modificar
                var oJustificacion = new Justificacion();
                //se cargan los datos
                oJustificacion.idJustificacion    = Convert.ToInt32(Request.QueryString["Id"]);
                oJustificacion.Motivo             = Int32.Parse(ddlMotivo.SelectedValue);
                oJustificacion.fechaJustificacion = dtFecha.Value;
                oJustificacion.horaInicio         = txtHoradesde.Value;
                oJustificacion.horaFin            = txtHoraHasta.Value;
                oJustificacion.observaciones      = taObs.Value;

                servicio.ActualizarJustificacion(oJustificacion);
                Response.Redirect("~/Forms/frmControlAsistencia.aspx?Id=" + Request.QueryString["Id"]);
            }
            catch (Exception ex)
            {
                FailureText.Text     = "Se presento un problema al procesar la información.";
                ErrorMessage.Visible = true;
            }
        }
        public ActionResult JustificacionRequest(Justificacion justificacion)
        {
            bool   Status  = false;
            string message = "";

            string[] data = System.Web.HttpContext.Current.User.Identity.Name.Split('&');

            //Model validation
            if (ModelState.IsValid)
            {
                justificacion.idUsuario = data[1];
                #region Save to Data
                using (ConsiliumEntities dc = new ConsiliumEntities())
                {
                    justificacion.estado = "Pendiente";
                    dc.Justificacion.Add(justificacion);
                    dc.SaveChanges();

                    Status = true;

                    message = "Justificación enviada";
                }


                #endregion
            }
            else
            {
                message = "Justificación inválida";
            }

            ViewBag.Message = message;
            ViewBag.Status  = Status;

            return(View(justificacion));
        }
Exemple #7
0
        private async void button1_Click(object sender, EventArgs e)
        {
            lblMensaje.Text      = "Procesando...";
            lblMensaje.ForeColor = System.Drawing.Color.Gray;

            OpenFileDialog openFileDialog1 = new OpenFileDialog();


            openFileDialog1.Title = "Buscar Importar";

            openFileDialog1.CheckFileExists = true;

            openFileDialog1.CheckPathExists = true;



            openFileDialog1.DefaultExt = ".xlsx";

            openFileDialog1.Filter = "Text files (*.xlsx)|*.xls|All files (*.*)|*.*";

            openFileDialog1.FilterIndex = 2;

            openFileDialog1.RestoreDirectory = true;



            openFileDialog1.ReadOnlyChecked = true;

            openFileDialog1.ShowReadOnly = true;



            if (openFileDialog1.ShowDialog() == DialogResult.OK)

            {
                textBox1.Text = openFileDialog1.FileName;
            }
            if (openFileDialog1.FileName.EndsWith("xls") || openFileDialog1.FileName.EndsWith("xlsx"))
            {
                //readv data file
                Microsoft.Office.Interop.Excel.Application application = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel.Workbook    workbook    = application.Workbooks.Open(textBox1.Text);
                Microsoft.Office.Interop.Excel.Worksheet   worksheet   = workbook.ActiveSheet;
                Microsoft.Office.Interop.Excel.Range       range       = worksheet.UsedRange;
                var fila = 0;
                try
                {
                    Marca marca = new Marca();
                    MarcaViewModelImport viewImport = new MarcaViewModelImport();

                    for (int row = 2; row <= range.Rows.Count; row++)
                    {
                        fila             = row;
                        lblContador.Text = "(" + (row - 1).ToString() + "/" + (range.Rows.Count - 1).ToString() + ")";

                        var ubicacionId = FindUbicacionId(((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 1]).Text);

                        var personaId = FindPersonaId(((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 2]).Text, ubicacionId);

                        if (personaId > 0)
                        {
                            marca.UbicacionId      = ubicacionId;
                            marca.PersonaId        = personaId;
                            viewImport.Fecha       = ((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 3]).Text;
                            viewImport.HoraEntrada = ((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 4]).Text;
                            viewImport.HoraSalida  = ((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 5]).Text;
                            viewImport.HoraOT      = ((Microsoft.Office.Interop.Excel.Range)range.Cells[row, 6]).Text;

                            var persona = await db.Personas.FindAsync(marca.PersonaId);

                            marca = ToMarca(marca, viewImport);

                            //Ponemos estado normal en caso de que las horas sean las mismas
                            if (marca.HorasTrabajadas.Hours == persona.Puesto.Horas)
                            {
                                marca.EstadoMarcaId = 1;
                            }

                            db.Marcas.Add(marca);
                            db.SaveChanges();

                            if (marca.HorasTrabajadas.Hours != persona.Puesto.Horas)
                            {
                                var justificacion = new Justificacion
                                {
                                    FechaCreacion = DateTime.Now,
                                    SubordinadoId = personaId,
                                    SupervisorId  = persona.SupervisorId,
                                };
                                db.Justificaciones.Add(justificacion);
                                await db.SaveChangesAsync();

                                var notificacion = new NotificacionPersona
                                {
                                    Activo    = true,
                                    Fecha     = DateTime.Now,
                                    Nota      = "Solicitud de Justificación " + persona.NombreCompleto,
                                    Titulo    = "Justificación",
                                    PersonaId = persona.SupervisorId.Value,
                                };

                                db.NotificacionPersonas.Add(notificacion);
                                await db.SaveChangesAsync();
                            }
                        }
                    }

                    range     = null;
                    worksheet = null;
                    workbook.Close(false, Type.Missing, Type.Missing);

                    application.Quit();

                    KillExcel(application);

                    System.Runtime.InteropServices.Marshal.ReleaseComObject(application);
                    workbook    = null;
                    application = null;

                    lblMensaje.Text      = "Finalizado correctamente...";
                    lblMensaje.ForeColor = System.Drawing.Color.Green;
                }
                catch (Exception ex)
                {
                    lblMensaje.Text = "Error por favor revise el archivo - Fila (" + fila + ")";
                    if (ex.InnerException != null)
                    {
                        lblMensaje.Text      = (Char)13 + ex.InnerException.Message.ToString();
                        lblMensaje.ForeColor = System.Drawing.Color.Red;
                    }
                    else if (ex.Message != null)
                    {
                        lblMensaje.Text      = (Char)13 + ex.Message.ToString();
                        lblMensaje.ForeColor = System.Drawing.Color.Red;
                    }
                }
            }
            else
            {
                lblMensaje.Text      = "El archivo no es correcto...";
                lblMensaje.ForeColor = System.Drawing.Color.Red;
            }
        }