示例#1
0
        protected void cargarEmpleador(Usuario us)
        {
            EmpleadorMngr empleamng = new EmpleadorMngr();
            Empleador     emple     = new Empleador();

            if (System.Configuration.ConfigurationManager.AppSettings["SinDB"].ToString() == "True")
            {
                txtRazonSocial.Value    = "Empresa Ficticia";
                txtNombreFantasia.Value = "Empresa Ficticia";
                txtCuit.Value           = "235656569";
                txtDireccion.Value      = "Direccion 123";
                txtTelPrin.Value        = "11565656";
                txtTelSec.Value         = "1154655656";
                selPcia.Value           = "Ciudad Autónoma de Buenos Aires";
                txtCodPostal.Value      = "1001";
                txtEmail.Value          = "*****@*****.**";
            }
            else
            {
                emple = empleamng.getEmpleador(us.IdEmpleador);
                txtRazonSocial.Value    = emple.RazonSocial;
                txtNombreFantasia.Value = emple.NombreFantasia;
                txtCuit.Value           = emple.Cuit;
                txtDireccion.Value      = emple.Direccion;
                txtTelPrin.Value        = emple.TelefonoPrincipal;
                txtTelSec.Value         = emple.TelefonoSecundario;
                selPcia.Value           = emple.Provincia;
                txtLocalidad.Value      = emple.Localidad;
                txtCodPostal.Value      = emple.CodPostal;
                txtEmail.Value          = emple.Email;
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Empleador empleador = db.Empleador.Find(id);

            db.Empleador.Remove(empleador);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Cargo,Area,Id,Organizacion_Id")] Empleador empleador)
 {
     if (ModelState.IsValid)
     {
         db.Entry(empleador).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Id = new SelectList(db.Persona, "Id", "Nombre", empleador.Id);
     ViewBag.Organizacion_Id = new SelectList(db.Organizacion, "Id", "Nombre", empleador.Organizacion_Id);
     return(View(empleador));
 }
示例#4
0
        public List <Empleador> getEmpleadorByFilter(string busquedaEmpleador)
        {
            try
            {
                List <Empleador> EmpleadorLista = new List <Empleador>();
                SqlDataReader    rdr            = null;

                string m_ConnectionString = null;

                m_ConnectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionStringTest"].ToString();

                using (var conn = new SqlConnection(m_ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand("spGetEmpleadorByFilters", conn);

                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add(new SqlParameter("pBusquedaEmpleador", SqlDbType.VarChar)).Value = (busquedaEmpleador == "") ? (object)DBNull.Value : busquedaEmpleador;

                    rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        Empleador Emp = new Empleador();
                        Emp.IdEmpleador        = int.Parse(rdr["IdEmpleador"].ToString());
                        Emp.RazonSocial        = rdr["RazonSocial"].ToString();
                        Emp.NombreFantasia     = rdr["NombreFantasia"].ToString();
                        Emp.Cuit               = rdr["Cuit"].ToString();
                        Emp.TelefonoPrincipal  = rdr["TelefonoPrincipal"].ToString();
                        Emp.TelefonoSecundario = rdr["TelefonoSecundario"].ToString();
                        Emp.Direccion          = rdr["Direccion"].ToString();
                        Emp.Localidad          = rdr["Localidad"].ToString();
                        Emp.Provincia          = rdr["Provincia"].ToString();
                        Emp.Email              = rdr["EmailPrincipal"].ToString();

                        EmpleadorLista.Add(Emp);
                    }
                    conn.Close();
                }

                rdr.Dispose();
                rdr.Close();

                return(EmpleadorLista);
            }


            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#5
0
        public List <Empleador> getAllEmpleadores()
        {
            try
            {
                List <Empleador> EmpleadorList = new List <Empleador>();

                SqlDataReader rdr = null;

                string m_ConnectionString = null;

                m_ConnectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionStringTest"].ToString();

                using (var conn = new SqlConnection(m_ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand("spGetAllEmpleadores", conn);

                    cmd.CommandType = CommandType.StoredProcedure;

                    rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        Empleador Emp = new Empleador();
                        Emp.IdEmpleador        = int.Parse(rdr["IdEmpleador"].ToString());
                        Emp.RazonSocial        = rdr["RazonSocial"].ToString();
                        Emp.NombreFantasia     = rdr["NombreFantasia"].ToString();
                        Emp.Cuit               = rdr["Cuit"].ToString();
                        Emp.TelefonoPrincipal  = rdr["TelefonoPrincipal"].ToString();
                        Emp.TelefonoSecundario = rdr["TelefonoSecundario"].ToString();
                        Emp.Direccion          = rdr["Direccion"].ToString();
                        Emp.Localidad          = rdr["Localidad"].ToString();
                        Emp.Provincia          = rdr["Provincia"].ToString();
                        Emp.CodPostal          = rdr["CodigoPostal"].ToString();
                        Emp.Email              = rdr["EmailPrincipal"].ToString();

                        EmpleadorList.Add(Emp);
                    }
                    conn.Close();
                }

                rdr.Dispose();
                rdr.Close();

                return(EmpleadorList);
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#6
0
        public Response <IEnumerable <BoletaPago> > GetTrabajadores(BoletaPago obj)
        {
            try
            {
                var result = repository.GetTrabajadores(obj);

                if (result.Any())
                {
                    string periodo = obj.HorasTrabajadas.Periodo;

                    string body = CargarPlantilla(periodo);

                    string nombrearchivo = "Boleta de Pago " + periodo;

                    int i = 1; int?trabajadorid = 0; int contador = result.Count();
                    while (contador >= i)
                    {
                        trabajadorid = result.Where(x => x.Indicador == i).Select(y => y.Trabajador.Trabajador_Id).FirstOrDefault();
                        Trabajador trabajador = new Trabajador(); Empleador empleador = new Empleador(); HorasTrabajadas horasTrabajadas = new HorasTrabajadas();
                        IEnumerable <DetalleVacaciones> lstdetalleVacaiones; Beneficio beneficio = new Beneficio();

                        if (trabajadorid > 0)
                        {
                            trabajador                 = repository2.ObtenerTrabajador(trabajadorid);
                            empleador                  = repository3.ObtenerEmpleador();
                            horasTrabajadas            = repository4.CalculaHorasTrabajadas(periodo, trabajador);
                            trabajador.HorasTrabajadas = new HorasTrabajadas {
                                Periodo = periodo
                            };
                            lstdetalleVacaiones = repository5.DetalleVacaciones(trabajador);
                            beneficio           = repository6.GetSeguro(trabajador);
                            byte[] arraybytes = CrearBoletaPago(periodo, empleador, trabajador, horasTrabajadas, lstdetalleVacaiones.ToArray(), beneficio);
                            EnvioCorreo.Send(trabajador.Correo, nombrearchivo, body, arraybytes, nombrearchivo + ".pdf");
                        }
                        i++;
                    }
                    return(new Response <IEnumerable <BoletaPago> >(result));
                }
                else
                {
                    var rs = new Response <IEnumerable <BoletaPago> >(result);
                    rs.InternalException = "No se encontraton boletas con esa fecha";
                    rs.InternalStatus    = InternalStatus.Failed;
                    return(rs);
                }
            }
            catch (Exception ex)
            {
                return(new Response <IEnumerable <BoletaPago> >(ex));
            }
        }
        // GET: Empleadors/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Empleador empleador = db.Empleador.Find(id);

            if (empleador == null)
            {
                return(HttpNotFound());
            }
            return(View(empleador));
        }
        // GET: Empleadors/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Empleador empleador = db.Empleador.Find(id);

            if (empleador == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Id = new SelectList(db.Persona, "Id", "Nombre", empleador.Id);
            ViewBag.Organizacion_Id = new SelectList(db.Organizacion, "Id", "Nombre", empleador.Organizacion_Id);
            return(View(empleador));
        }
示例#9
0
        public Response <BoletaPago> DescargarBoletaPago(int TrabajadorId, string Periodo)
        {
            Trabajador trabajador = new Trabajador(); Empleador empleador = new Empleador(); HorasTrabajadas horasTrabajadas = new HorasTrabajadas();
            IEnumerable <DetalleVacaciones> lstdetalleVacaiones; Beneficio beneficio = new Beneficio(); BoletaPago boletaPago = new BoletaPago();

            trabajador                 = repository2.ObtenerTrabajador(TrabajadorId);
            empleador                  = repository3.ObtenerEmpleador();
            horasTrabajadas            = repository4.CalculaHorasTrabajadas(Periodo, trabajador);
            trabajador.HorasTrabajadas = new HorasTrabajadas {
                Periodo = Periodo
            };
            lstdetalleVacaiones = repository5.DetalleVacaciones(trabajador);
            beneficio           = repository6.GetSeguro(trabajador);
            byte[] arraybytes    = CrearBoletaPago(Periodo, empleador, trabajador, horasTrabajadas, lstdetalleVacaiones.ToArray(), beneficio);
            string nombrearchivo = "BoletaPago_" + string.Concat(trabajador.ApellidoPaterno, "_", trabajador.Nombres) + "_" + Periodo;

            boletaPago.Arraybytes    = arraybytes;
            boletaPago.Nombrearchivo = nombrearchivo;

            return(new Response <BoletaPago>(boletaPago));
        }
示例#10
0
        public byte[] CrearBoletaPago(string periodo, Empleador empleador, Trabajador trabajador, HorasTrabajadas horasTrabajadas, DetalleVacaciones[] arrayvacaciones,
                                      Beneficio beneficio)
        {
            Document doc = new Document(PageSize.LETTER);

            byte[] arraybytes = null;
            using (MemoryStream memoryStream = new MemoryStream())
            {
                PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);
                doc.Open();
                //pdfDoc = CrearBoletaPago(periodo);
                string titulo = "Boleta de Pago " + periodo;

                doc.AddTitle(titulo);
                doc.AddCreator("Enrique Velasquez");

                // Abrimos el archivo
                doc.Open();

                Font tituloFont     = new Font(Font.FontFamily.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK);
                Font subtituloFont  = new Font(Font.FontFamily.HELVETICA, 15, Font.NORMAL, BaseColor.BLACK);
                Font subtituloFont2 = new Font(Font.FontFamily.HELVETICA, 10, Font.BOLD, BaseColor.BLACK);
                Font standardFont   = new Font(Font.FontFamily.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK);
                Font standardFont2  = new Font(Font.FontFamily.HELVETICA, 10, Font.BOLD, BaseColor.BLACK);

                // Escribimos el encabezamiento en el documento

                Paragraph rasonsocial = AddParagraph(empleador.Descripcion, Element.ALIGN_LEFT, tituloFont);
                doc.Add(new Paragraph(rasonsocial));

                Paragraph ruc = AddParagraph("RUC: " + empleador.Ruc, Element.ALIGN_LEFT, tituloFont);
                doc.Add(new Paragraph(ruc));

                doc.Add(Chunk.NEWLINE);

                Paragraph subtitulo = AddParagraph("BOLETA DE PAGO", Element.ALIGN_CENTER, subtituloFont);
                doc.Add(new Paragraph(subtitulo));

                Paragraph rangofecha = AddParagraph(horasTrabajadas.PrimerDia.ToString("dd'/'MM'/'yyyy") + "-" + horasTrabajadas.UltimoDia.ToString("dd'/'MM'/'yyyy"), Element.ALIGN_CENTER, tituloFont);
                doc.Add(new Paragraph(rangofecha));

                doc.Add(new Paragraph("\n"));

                //doc.Add(Chunk.NEWLINE);

                //Primera Parte
                PdfPTable tblElementos1 = new PdfPTable(6);
                tblElementos1.WidthPercentage = 100;

                string[] arrayElementos = { "Cod.Empleado:",   "Nombre:", "DNI:",             "Cargo:", "Fecha Ingreso", "Fecha de Cese", "Dias Trabajados", "Dias No Trabajados",
                                            "Dias vacaciones", "Sueldo",  "Horas Trabajados", "Horas No Trabajados" };

                string fechacierre = trabajador.FechaCese.ToString("dd'/'MM'/'yyyy");

                fechacierre = fechacierre == "01/01/0001" ? "" : fechacierre;

                string[] arrayDatos = { trabajador.Trabajador_Id.ToString(),         string.Concat(trabajador.Nombres,                   " ",                                    trabajador.ApellidoPaterno),                 trabajador.NumeroDocumento,
                                        trabajador.Cargo.Descripcion,                trabajador.FechaIngreso.ToString("dd'/'MM'/'yyyy"), fechacierre,                            horasTrabajadas.DiasTrabajados.ToString(),
                                        horasTrabajadas.DiasNoTrabajados.ToString(), "0",                                                trabajador.Cargo.Sueldo.ToString("F2"), horasTrabajadas.Horas_Trabajadas.ToString(),
                                        horasTrabajadas.HorasNoTrabajados.ToString() };

                for (int i = 0; i < arrayElementos.Length; i++)
                {
                    float top = 0;
                    if (i < 3)
                    {
                        top = 1;
                    }
                    else if (i >= 3)
                    {
                        top = 0;
                    }

                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos[i].ToString(), standardFont, 0, 0, top, Element.ALIGN_LEFT);
                    tblElementos1.AddCell(pdfPCell);

                    PdfPCell pdfPCelldatos = AddPdfPCell(arrayDatos[i].ToString(), standardFont, 0, 0, top, Element.ALIGN_LEFT);
                    tblElementos1.AddCell(pdfPCelldatos);
                }

                doc.Add(tblElementos1);

                doc.Add(new Paragraph("\n"));

                //Segunda Parte

                PdfPTable tblElementos2 = new PdfPTable(3);
                tblElementos2.WidthPercentage = 100;

                string[] arrayElementos2 = { "Ingresos", "Descuentos", "Aportes de Empleador" };

                for (int i = 0; i < arrayElementos2.Length; i++)
                {
                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos2[i].ToString(), subtituloFont2, 1, 1, 1, Element.ALIGN_CENTER);
                    tblElementos2.AddCell(pdfPCell);
                }

                doc.Add(tblElementos2);

                //Tercera Parte

                PdfPTable tblElementos3 = new PdfPTable(6);
                tblElementos3.WidthPercentage = 100;

                string[] arrayElementos3 = { "Remuneracion Basica:", "AFP Aporte:", "ESSALUD:", "Vacaciones:", "AFP Comision", "", "", "AFP Seguros", "" };

                string[] arrayDatos3 = { trabajador.Cargo.Sueldo.ToString("F2"), beneficio.AFPAporte.ToString("F2"), beneficio.EsSalud.ToString("F2"), "0.00", beneficio.AFPComision.ToString("F2"), "", "", beneficio.AFPSeguro.ToString("F2"), "" };

                for (int i = 0; i < arrayElementos3.Length; i++)
                {
                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos3[i].ToString(), standardFont, 0, 0, 0, Element.ALIGN_LEFT);
                    tblElementos3.AddCell(pdfPCell);

                    PdfPCell pdfPCelldatos = AddPdfPCell(arrayDatos3[i].ToString(), standardFont, 0, 0, 0, Element.ALIGN_RIGHT);
                    tblElementos3.AddCell(pdfPCelldatos);
                }

                doc.Add(tblElementos3);

                doc.Add(new Paragraph("\n"));

                //Cuarta Parte
                PdfPTable tblElementos4 = new PdfPTable(6);
                tblElementos4.WidthPercentage = 100;

                string[] arrayElementos4 = { "Total Ingresos", "Total Descuentos", "Total Aportes", "Total Neto", "", "" };

                string[] arrayDatos4 = { trabajador.Cargo.Sueldo.ToString("F2"), (beneficio.AFPAporte + beneficio.AFPComision + beneficio.AFPSeguro).ToString("F2"), beneficio.EsSalud.ToString("F2"), (trabajador.Cargo.Sueldo - (beneficio.AFPAporte + beneficio.AFPComision + beneficio.AFPSeguro)).ToString("F2"), "", "" };

                for (int i = 0; i < arrayElementos4.Length; i++)
                {
                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos4[i].ToString(), standardFont2, 0, 0, 0, Element.ALIGN_LEFT);
                    tblElementos4.AddCell(pdfPCell);

                    PdfPCell pdfPCelldatos = AddPdfPCell(arrayDatos4[i].ToString(), standardFont, 0, 0, 0, Element.ALIGN_RIGHT);
                    tblElementos4.AddCell(pdfPCelldatos);
                }

                doc.Add(tblElementos4);

                doc.Add(new Paragraph("\n"));

                Paragraph vacaciones = AddParagraph("Vacaciones", Element.ALIGN_LEFT, standardFont2);
                doc.Add(new Paragraph(vacaciones));

                //Quinta Parte
                PdfPTable tblElementos5 = new PdfPTable(4);
                tblElementos5.WidthPercentage     = 50;
                tblElementos5.HorizontalAlignment = Element.ALIGN_LEFT;

                string[] arrayElementos5 = { "Inicio", "Fin", "Dias", "Tipo" };

                for (int i = 0; i < arrayElementos5.Length; i++)
                {
                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos5[i].ToString(), standardFont2, 1, 1, 1, Element.ALIGN_CENTER);
                    tblElementos5.AddCell(pdfPCell);
                }

                doc.Add(tblElementos5);

                PdfPTable tblElementos6 = new PdfPTable(4);
                tblElementos6.WidthPercentage     = 50;
                tblElementos6.HorizontalAlignment = Element.ALIGN_LEFT;

                List <string> lstElementos6 = new List <string>();

                for (int j = 0; j < arrayvacaciones.Length; j++)
                {
                    lstElementos6.Add(arrayvacaciones[j].FechaInicio.ToString("dd'/'MM'/'yyyy"));
                    lstElementos6.Add(arrayvacaciones[j].FechaFin.ToString("dd'/'MM'/'yyyy"));
                    lstElementos6.Add(CalcularVacacionesPeriodo(horasTrabajadas.UltimoDia, arrayvacaciones[j].FechaInicio, arrayvacaciones[j].FechaFin).ToString());
                    lstElementos6.Add("Trabajador");
                }

                string[] arrayElementos6 = lstElementos6.ToArray();

                for (int i = 0; i < arrayElementos6.Length; i++)
                {
                    PdfPCell pdfPCell = AddPdfPCell(arrayElementos6[i].ToString(), standardFont, 0, 0, 0, Element.ALIGN_CENTER);
                    tblElementos6.AddCell(pdfPCell);
                }

                doc.Add(tblElementos6);

                doc.Close();
                arraybytes = memoryStream.ToArray();
                memoryStream.Close();
            }

            return(arraybytes);
        }