public PagoConsolidado ObtenerPagoConsolidadoPorCodigo(string codigoPagoConsolidado)
        {
            string spName = "[PagoConsolidado_GetById]";

            List <PagoConsolidado> PagoConsolidados = new List <PagoConsolidado>();
            PagoConsolidado        item             = null;


            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                con.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = spName;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@IdPagoConsolidado", codigoPagoConsolidado);
                cmd.Connection = con;


                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var PagoConsolidado = new PagoConsolidado
                        {
                            IdPagoConsolidado = Convert.ToInt32(reader["IdPagoConsolidado"]),
                            NumDeposito       = Convert.ToInt32(reader["NumDeposito"]),
                            CodigoAlumno      = Convert.ToInt32(reader["CodigoAlumno"]),
                            Importe           = Convert.ToInt32(reader["Importe"]),
                            FecharRegistro    = Convert.ToDateTime(reader["FecharRegistro"] is DBNull ? rngMin : reader["FecharRegistro"]),
                            FechaPago         = Convert.ToDateTime(reader["FechaPago"]),
                            CodigoMatricula   = Convert.ToInt32(reader["CodigoMatricula"] is DBNull ? 0 : reader["CodigoMatricula"]),
                            NroTesoreria      = Convert.ToInt32(reader["NroTesoreria"] is DBNull ? 0 : reader["NroTesoreria"]),
                            DescuentoQuince   = Convert.ToInt32(reader["DescuentoQuince"] is DBNull ? 0 : reader["DescuentoQuince"]),
                            DescuentoDiez     = Convert.ToInt32(reader["DescuentoDiez"] is DBNull ? 0 : reader["DescuentoDiez"]),

                            concepto = new ConceptoPago
                            {
                                NroConcepto = reader["NroConcepto"].ToString(),
                            }
                        };

                        PagoConsolidados.Add(PagoConsolidado);
                        item = PagoConsolidado;
                    }
                }
            }

            return(item);
        }
        public bool SavePagoConsolidado(PagoConsolidado PagoConsolidado)
        {
            string spName    = "[PagoConsolidado_Save]";
            bool   respuesta = false;


            try
            {
                using (SqlConnection con = new SqlConnection(ConnectionString))
                {
                    con.Open();

                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = spName;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection  = con;



                    cmd.Parameters.AddWithValue("@IdPagoConsolidado", PagoConsolidado.IdPagoConsolidado);
                    cmd.Parameters.AddWithValue("@NumDeposito", PagoConsolidado.NumDeposito);
                    cmd.Parameters.AddWithValue("@CodigoAlumno", PagoConsolidado.CodigoAlumno);
                    cmd.Parameters.AddWithValue("@Importe", PagoConsolidado.Importe);

                    cmd.Parameters.AddWithValue("@FecharRegistro", PagoConsolidado.FecharRegistro);
                    cmd.Parameters.AddWithValue("@FechaPago", Convert.ToDateTime(PagoConsolidado.FechaPago));

                    cmd.Parameters.AddWithValue("@NroConcepto", PagoConsolidado.concepto.NroConcepto);
                    cmd.Parameters.AddWithValue("@NroTesoreria", PagoConsolidado.NroTesoreria);
                    cmd.Parameters.AddWithValue("@DescuentoQuince", PagoConsolidado.DescuentoQuince);
                    cmd.Parameters.AddWithValue("@DescuentoDiez", PagoConsolidado.DescuentoDiez);
                    cmd.Parameters.AddWithValue("@CodigoMatricula", PagoConsolidado.CodigoMatricula);

                    cmd.ExecuteNonQuery();
                    respuesta = true;
                }
            }
            catch (Exception)
            {
                throw;
            }


            return(respuesta);
        }
 public ActionResult AddOrEdit(PagoConsolidado PagoConsolidado)
 {
     PagoConsolidado.FecharRegistro = DateTime.Today;
     if (PagoConsolidado.IdPagoConsolidado == 0)
     {
         if (ModelState.IsValid)
         {
             bool flag = this.PagoConsolidadoBL.RegistrarPagoConsolidadoBL(PagoConsolidado);
             return(Json(new { success = true, message = "Guardado Correcto" }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             return(Json(new { success = true, message = "Guardado Correcto" }, JsonRequestBehavior.AllowGet));
         }
     }
     else
     {
         bool flag = this.PagoConsolidadoBL.RegistrarPagoConsolidadoBL(PagoConsolidado);
         return(Json(new { success = true, message = "Actualizado Correctamente" }, JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult UploadProcesar(string id)
        {
            int fila = 0;

            try
            {
                List <PagoConsolidado> items = new List <PagoConsolidado>();
                bool flag     = false;
                int  contador = 0;

                string directory     = ConfigurationManager.AppSettings["Pagos"];
                var    NombreArchivo = ArchivoPagoBl.ObtenerArchivoPagoPorCodigoBL(id);
                var    path          = Path.Combine(directory, NombreArchivo.NombreArchivo);

                using (var instream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite))
                    using (var pck = new ExcelPackage(instream))
                    {
                        var ws = pck.Workbook.Worksheets["F002"];
                        if (ws == null)
                        {
                            //throw new BusinessExceptions("No se encontro una Hoja Excel con el nombre: [F.211].");
                        }
                        int rowNumber = 2;
                        int i         = 0;
                        try {
                            while (!string.IsNullOrEmpty(ws.Cells[$"B{rowNumber}"].GetValue <string>()))
                            {
                                fila = rowNumber;
                                var item = new PagoConsolidado();


                                item.NumDeposito    = ws.Cells[$"F{rowNumber}"].GetValue <int>();
                                item.CodigoAlumno   = ws.Cells[$"G{rowNumber}"].GetValue <int>();
                                item.Importe        = ws.Cells[$"I{rowNumber}"].GetValue <decimal>();
                                item.FecharRegistro = DateTime.Today;
                                item.FechaPago      = ws.Cells[$"N{rowNumber}"].GetValue <DateTime>();
                                // item.CodigoMatricula = Convert.ToInt32(ws.Cells[$"P{rowNumber}"].GetValue<string>() is "-" ? 0 : ws.Cells[$"P{rowNumber}"].GetValue<int>());

                                item.concepto = new ConceptoPago()
                                {
                                    NroConcepto = ws.Cells[$"C{rowNumber}"].GetValue <string>(),
                                };

                                if (item.concepto.NroConcepto.Length == 5)
                                {
                                    item.concepto.NroConcepto = '0' + item.concepto.NroConcepto;
                                }

                                i++;
                                items.Add(item);
                                contador = items.Count();
                                rowNumber++;
                            }
                        }
                        catch (Exception ex)
                        {
                            Response.StatusCode = (int)HttpStatusCode.BadRequest;
                            List <string> errors = new List <string>();
                            //..some processing
                            errors.Add($"[ERROR EN EXCEL][FILA: {rowNumber+1}]" + ex.Message);
                            //..some processing

                            return(Json(errors));
                            //return Json(new { success = false, message = $"[ERROR][ROW: {rowNumber}]Error a procesar una fila en el ArchivoPago." }, JsonRequestBehavior.AllowGet);
                        }



                        if (contador > 0)
                        {
                            flag = ArchivoPagoBl.InsertarPagoConsolidado(items);
                            NombreArchivo.EstadoArchivo    = 1;
                            NombreArchivo.EstadoValidacion = 1;
                            var flagEstado = this.ArchivoPagoBl.RegistrarArchivoPagoBL(NombreArchivo);
                        }
                    }

                if (flag)
                {
                    return(Json(new { success = false, message = "Procesado Correctmante" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false, message = "Ocurrió un Error en la carga" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new { success = false, message = $"[ERROR][ROW: {fila}]Error a procesar una fila en el ArchivoPago." }, JsonRequestBehavior.AllowGet));
            }
        }
 public bool RegistrarPagoConsolidadoBL(PagoConsolidado PagoConsolidado)
 {
     return(maestraDAL.SavePagoConsolidado(PagoConsolidado));
 }
 public bool ActualizarPagoConsolidadoBL(PagoConsolidado PagoConsolidado)
 {
     return(maestraDAL.SavePagoConsolidado(PagoConsolidado));
 }