// GET: Admin/DocumentoXPagar/PagosEdit/5
        public ActionResult PagosEdit(string id, string id2, int id3)
        {
            try
            {
                Token.SaveToken();
                DocumentoPorPagarDetallePagosModels DocumentoPagarDetPago = new DocumentoPorPagarDetallePagosModels();
                DocumentoXPagar_Datos DocCobrarDatos = new DocumentoXPagar_Datos();
                DocumentoPagarDetPago.Usuario  = User.Identity.Name;
                DocumentoPagarDetPago.Conexion = Conexion;
                DocumentoPagarDetPago.Id_documentoPorPagarDetallePagos = id;
                DocumentoPagarDetPago              = DocCobrarDatos.GetDetalleDocumentoPago(DocumentoPagarDetPago);
                DocumentoPagarDetPago.id_status    = id3;
                DocumentoPagarDetPago.ListaAsignar = DocCobrarDatos.GetListadoAsignarPagos(DocumentoPagarDetPago);

                if (DocumentoPagarDetPago.TipoServicio == 1 || DocumentoPagarDetPago.TipoServicio == 2)
                {
                    DocumentoPagarDetPago.Id_compra = DocumentoPagarDetPago.ListaAsignar[0].Id_2;
                }


                if (string.IsNullOrEmpty(DocumentoPagarDetPago.ImagenBase64))
                {
                    DocumentoPagarDetPago.ImagenBase64 = Auxiliar.SetDefaultImage();
                }

                DocumentoPagarDetPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(DocumentoPagarDetPago.ImagenBase64);


                DocumentoPagarDetPago.ListaFormaPagos = DocCobrarDatos.GetListadoCFDIFormaPago(DocumentoPagarDetPago);
                DocumentoPagarDetPago = DocCobrarDatos.GetNombreEmpresaProveedorCliente(DocumentoPagarDetPago);
                DocumentoPagarDetPago.TipoCuentaBancaria             = 1;
                DocumentoPagarDetPago.ListaCuentasBancariasEmpresa   = DocCobrarDatos.GetListadoCuentasBancarias(DocumentoPagarDetPago);
                DocumentoPagarDetPago.TipoCuentaBancaria             = 2;
                DocumentoPagarDetPago.ListaCuentasBancariasProveedor = DocCobrarDatos.GetListadoCuentasBancarias(DocumentoPagarDetPago);

                return(View(DocumentoPagarDetPago));
            }
            catch
            {
                return(View());
            }
        }
        public CatFierroModels ObtenerDetalleCatFierro(CatFierroModels datos)
        {
            try
            {
                object[]      parametros = { datos.IDFierro };
                SqlDataReader dr         = null;
                dr = SqlHelper.ExecuteReader(datos.Conexion, "spCSLDB_Catalogo_get_CatFierroXID", parametros);
                while (dr.Read())
                {
                    datos.IDFierro      = !dr.IsDBNull(dr.GetOrdinal("IDFierro")) ? dr.GetString(dr.GetOrdinal("IDFierro")) : string.Empty;
                    datos.NombreFierro  = !dr.IsDBNull(dr.GetOrdinal("NombreFierro")) ? dr.GetString(dr.GetOrdinal("NombreFierro")) : string.Empty;
                    datos.Observaciones = !dr.IsDBNull(dr.GetOrdinal("Observaciones")) ? dr.GetString(dr.GetOrdinal("Observaciones")) : string.Empty;
                    datos.ImgFierro     = !dr.IsDBNull(dr.GetOrdinal("ImgFierro")) ? dr.GetString(dr.GetOrdinal("ImgFierro")) : string.Empty;
                    datos.Extension     = Auxiliar.ObtenerExtensionImagenBase64(datos.ImgFierro);
                }
                dr.Close();
                return(datos);
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ActionResult PagosEdit(DocumentoPorPagarDetallePagosModels DocumentoPorPagarPago)
        {
            DocumentoXPagar_Datos DocumentoDatos = new DocumentoXPagar_Datos();

            try
            {
                if (Token.IsTokenValid())
                {
                    ModelState.Remove("pendiente");
                    if (ModelState.IsValid)
                    {
                        DocumentoPorPagarPago.Conexion      = Conexion;
                        DocumentoPorPagarPago.Usuario       = User.Identity.Name;
                        DocumentoPorPagarPago.RespuestaAjax = new RespuestaAjax();
                        if (DocumentoPorPagarPago.Bancarizado)
                        {
                            if (DocumentoPorPagarPago.HttpImagen != null)
                            {
                                //DocumentoPorPagarPago.ImagenBase64 = Auxiliar.ImageToBase64(DocumentoPorPagarPago.HttpImagen);
                                Stream s = DocumentoPorPagarPago.HttpImagen.InputStream;
                                //Evento.ImagenBase64 = Auxiliar.ImageToBase64(Evento.HttpImagen);
                                if (Path.GetExtension(DocumentoPorPagarPago.HttpImagen.FileName).ToLower() == ".heic")
                                {
                                    Image  img   = (Image)Auxiliar.ProcessFile(s);
                                    Bitmap image = new Bitmap(ComprimirImagen.VaryQualityLevel((Image)img.Clone(), 35L));
                                    DocumentoPorPagarPago.ImagenBase64 = image.ToBase64String(ImageFormat.Jpeg);
                                }
                                else
                                {
                                    Image  img   = new Bitmap(s);
                                    Bitmap image = new Bitmap(ComprimirImagen.VaryQualityLevel((Image)img.Clone(), 35L));
                                    DocumentoPorPagarPago.ImagenBase64 = image.ToBase64String(img.RawFormat);
                                }
                            }
                        }
                        DocumentoPorPagarPago = DocumentoDatos.AC_ComprobanteCompra(DocumentoPorPagarPago);
                        if (DocumentoPorPagarPago.Completado == true)
                        {
                            TempData["typemessage"] = "1";
                            TempData["message"]     = "Los datos se guardaron correctamente.";
                            if (DocumentoPorPagarPago.pendiente == 0)
                            {
                                return(RedirectToAction("Index"));
                            }
                            Token.ResetToken();
                            return(RedirectToAction("DetallePagos", new { id = DocumentoPorPagarPago.Id_documentoPorPagar, id2 = DocumentoPorPagarPago.id_status }));
                        }
                        else
                        {
                            DocumentoPorPagarDetallePagosModels documentoPago = new DocumentoPorPagarDetallePagosModels();
                            DocumentoXPagar_Datos DocPagarDatos = new DocumentoXPagar_Datos();
                            documentoPago.Id_documentoPorPagar = DocumentoPorPagarPago.Id_documentoPorPagar;
                            documentoPago.Usuario      = User.Identity.Name;
                            documentoPago.Conexion     = Conexion;
                            documentoPago.TipoServicio = 1;
                            documentoPago.ListaAsignar = DocPagarDatos.GetListadoAsignarPagos(documentoPago);
                            //es para el boton de regresar 1 es compra, 2 es flete de la compra
                            if (documentoPago.TipoServicio == 1 || documentoPago.TipoServicio == 2)
                            {
                                documentoPago.Id_compra = documentoPago.ListaAsignar[0].Id_2;
                            }

                            documentoPago.ListaFormaPagos = DocPagarDatos.GetListadoCFDIFormaPago(documentoPago);
                            documentoPago = DocPagarDatos.GetNombreEmpresaProveedorCliente(documentoPago);
                            documentoPago.TipoCuentaBancaria             = 1;
                            documentoPago.ListaCuentasBancariasEmpresa   = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                            documentoPago.TipoCuentaBancaria             = 2;
                            documentoPago.ListaCuentasBancariasProveedor = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                            documentoPago.fecha       = DateTime.Now;
                            documentoPago.Bancarizado = false;

                            documentoPago.ImagenBase64          = Auxiliar.SetDefaultImage();
                            documentoPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(documentoPago.ImagenBase64);
                            TempData["typemessage"]             = "2";
                            TempData["message"] = "Ocurrio un error al intentar guardar";
                            return(View(documentoPago));
                        }
                    }
                    else
                    {
                        DocumentoPorPagarDetallePagosModels documentoPago = new DocumentoPorPagarDetallePagosModels();
                        DocumentoXPagar_Datos DocPagarDatos = new DocumentoXPagar_Datos();
                        documentoPago.Id_documentoPorPagar = DocumentoPorPagarPago.Id_documentoPorPagar;
                        documentoPago.Usuario      = User.Identity.Name;
                        documentoPago.Conexion     = Conexion;
                        documentoPago.TipoServicio = 1;
                        documentoPago.ListaAsignar = DocPagarDatos.GetListadoAsignarPagos(documentoPago);
                        //es para el boton de regresar 1 es compra, 2 es flete de la compra
                        if (documentoPago.TipoServicio == 1 || documentoPago.TipoServicio == 2)
                        {
                            documentoPago.Id_compra = documentoPago.ListaAsignar[0].Id_2;
                        }

                        documentoPago.ListaFormaPagos = DocPagarDatos.GetListadoCFDIFormaPago(documentoPago);
                        documentoPago = DocPagarDatos.GetNombreEmpresaProveedorCliente(documentoPago);
                        documentoPago.TipoCuentaBancaria             = 1;
                        documentoPago.ListaCuentasBancariasEmpresa   = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                        documentoPago.TipoCuentaBancaria             = 2;
                        documentoPago.ListaCuentasBancariasProveedor = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                        documentoPago.fecha       = DateTime.Now;
                        documentoPago.Bancarizado = false;

                        documentoPago.ImagenBase64          = Auxiliar.SetDefaultImage();
                        documentoPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(documentoPago.ImagenBase64);
                        return(View(documentoPago));
                    }
                }
                else
                {
                    return(RedirectToAction("DetallePagos", new { id = DocumentoPorPagarPago.Id_documentoPorPagar, id2 = DocumentoPorPagarPago.id_status }));
                }
            }
            catch (Exception)
            {
                DocumentoPorPagarDetallePagosModels documentoPago = new DocumentoPorPagarDetallePagosModels();
                DocumentoXPagar_Datos DocPagarDatos = new DocumentoXPagar_Datos();
                documentoPago.Id_documentoPorPagar = DocumentoPorPagarPago.Id_documentoPorPagar;
                documentoPago.Usuario      = User.Identity.Name;
                documentoPago.Conexion     = Conexion;
                documentoPago.TipoServicio = 1;
                documentoPago.ListaAsignar = DocPagarDatos.GetListadoAsignarPagos(documentoPago);
                //es para el boton de regresar 1 es compra, 2 es flete de la compra
                if (documentoPago.TipoServicio == 1 || documentoPago.TipoServicio == 2)
                {
                    documentoPago.Id_compra = documentoPago.ListaAsignar[0].Id_2;
                }

                documentoPago.ListaFormaPagos = DocPagarDatos.GetListadoCFDIFormaPago(documentoPago);
                documentoPago = DocPagarDatos.GetNombreEmpresaProveedorCliente(documentoPago);
                documentoPago.TipoCuentaBancaria             = 1;
                documentoPago.ListaCuentasBancariasEmpresa   = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.TipoCuentaBancaria             = 2;
                documentoPago.ListaCuentasBancariasProveedor = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.fecha       = DateTime.Now;
                documentoPago.Bancarizado = false;

                documentoPago.ImagenBase64          = Auxiliar.SetDefaultImage();
                documentoPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(documentoPago.ImagenBase64);
                TempData["typemessage"]             = "2";
                TempData["message"] = "Ocurrio un error contacte a soporte tecnico";
                return(RedirectToAction("DetallePagos", new { id = DocumentoPorPagarPago.Id_documentoPorPagar }));
            }
        }
        // GET: Admin/DocumentoXPagar/PagosCreate/5
        public ActionResult PagosCreate(string id, int id2)
        {
            try
            {
                Token.SaveToken();
                DocumentoPorPagarDetallePagosModels documentoPago = new DocumentoPorPagarDetallePagosModels();
                DocumentoXPagar_Datos DocPagarDatos = new DocumentoXPagar_Datos();

                documentoPago.Id_documentoPorPagar = id;
                documentoPago.Usuario  = User.Identity.Name;
                documentoPago.Conexion = Conexion;

                documentoPago = DocPagarDatos.SpCSLDB_get_GetDetalleDocumentoPago(documentoPago);

                documentoPago.TipoServicio = 1;
                documentoPago.id_status    = id2;
                documentoPago.ListaAsignar = DocPagarDatos.GetListadoAsignarPagos(documentoPago);
                //es para el boton de regresar 1 es compra, 2 es flete de la compra
                // if (documentoPago.TipoServicio == 1 || documentoPago.TipoServicio == 2)
                //     documentoPago.Id_compra = documentoPago.ListaAsignar[0].Id_2;

                documentoPago.ListaFormaPagos = DocPagarDatos.GetListadoCFDIFormaPago(documentoPago);
                documentoPago = DocPagarDatos.GetNombreEmpresaProveedorCliente(documentoPago);
                documentoPago.TipoCuentaBancaria             = 1;
                documentoPago.ListaCuentasBancariasEmpresa   = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.TipoCuentaBancaria             = 2;
                documentoPago.ListaCuentasBancariasProveedor = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.fecha       = DateTime.Now;
                documentoPago.Bancarizado = false;

                documentoPago.ImagenBase64          = Auxiliar.SetDefaultImage();
                documentoPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(documentoPago.ImagenBase64);
                return(View(documentoPago));
            }
            catch
            {
                DocumentoPorPagarDetallePagosModels documentoPago = new DocumentoPorPagarDetallePagosModels();
                DocumentoXPagar_Datos DocPagarDatos = new DocumentoXPagar_Datos();
                documentoPago.Id_documentoPorPagar = id;
                documentoPago.Usuario      = User.Identity.Name;
                documentoPago.Conexion     = Conexion;
                documentoPago.TipoServicio = 1;
                documentoPago.ListaAsignar = DocPagarDatos.GetListadoAsignarPagos(documentoPago);
                //es para el boton de regresar 1 es compra, 2 es flete de la compra
                //if (documentoPago.TipoServicio == 1 || documentoPago.TipoServicio == 2)
                //    documentoPago.Id_compra = documentoPago.ListaAsignar[0].Id_2;

                documentoPago.ListaFormaPagos = DocPagarDatos.GetListadoCFDIFormaPago(documentoPago);
                documentoPago = DocPagarDatos.GetNombreEmpresaProveedorCliente(documentoPago);
                documentoPago.TipoCuentaBancaria             = 1;
                documentoPago.ListaCuentasBancariasEmpresa   = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.TipoCuentaBancaria             = 2;
                documentoPago.ListaCuentasBancariasProveedor = DocPagarDatos.GetListadoCuentasBancarias(documentoPago);
                documentoPago.fecha       = DateTime.Now;
                documentoPago.Bancarizado = false;

                documentoPago.ImagenMostrar         = Auxiliar.SetDefaultImage();
                documentoPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(documentoPago.ImagenMostrar);
                TempData["typemessage"]             = "2";
                TempData["message"] = "No se puede cargar la vista";
                return(View(documentoPago));
            }
        }
        public ActionResult Cobro(string id_1, string id_2)
        {
            try
            {
                Token.SaveToken();
                _VentaGeneral_Datos oDatosVentaGeneral = new _VentaGeneral_Datos();

                DocumentosPorCobrarDetallePagosModels DocumentoPorCobrarPago = new DocumentosPorCobrarDetallePagosModels();
                DocumentoPorCobrarPago.RespuestaAjax = new RespuestaAjax();

                string Id_venta = string.IsNullOrEmpty(id_1) ? string.Empty : id_1;
                string Id_documentoPorCobrarDetallePago = string.IsNullOrEmpty(id_2) ? string.Empty : id_2;

                if (Id_venta.Length == 36 && (Id_documentoPorCobrarDetallePago.Length == 0 || Id_documentoPorCobrarDetallePago.Length == 36))
                {
                    DocumentoPorCobrarPago.Conexion = conexion;
                    DocumentoPorCobrarPago.Id_padre = Id_venta;
                    DocumentoPorCobrarPago.Id_documentoPorCobrarDetallePagos = Id_documentoPorCobrarDetallePago;

                    DocumentoPorCobrarPago = oDatosVentaGeneral.VentaGeneral_spCIDDB_get_GetDetalleDocumentoPago(DocumentoPorCobrarPago);

                    if (DocumentoPorCobrarPago.RespuestaAjax.Success)
                    {
                        if (string.IsNullOrEmpty(DocumentoPorCobrarPago.ImagenBase64))
                        {
                            DocumentoPorCobrarPago.ImagenBase64 = Auxiliar.SetDefaultImage();
                        }

                        DocumentoPorCobrarPago.ExtensionImagenBase64 = Auxiliar.ObtenerExtensionImagenBase64(DocumentoPorCobrarPago.ImagenBase64);

                        _Combos_Datos oDatosCombo = new _Combos_Datos();

                        DocumentoPorCobrarPago.ListaFormaPagos = oDatosCombo.GetListadoCFDIFormaPago(DocumentoPorCobrarPago);
                        DocumentoPorCobrarPago = oDatosVentaGeneral.VentaGeneral_spCIDDB_get_NombreCliente_Empresa(DocumentoPorCobrarPago);
                        DocumentoPorCobrarPago.TipoCuentaBancaria             = 1;
                        DocumentoPorCobrarPago.ListaCuentasBancariasEmpresa   = oDatosVentaGeneral.VentaGeneral_spCIDDB_get_CuentasBancarias(DocumentoPorCobrarPago);
                        DocumentoPorCobrarPago.TipoCuentaBancaria             = 2;
                        DocumentoPorCobrarPago.ListaCuentasBancariasProveedor = oDatosVentaGeneral.VentaGeneral_spCIDDB_get_CuentasBancarias(DocumentoPorCobrarPago);
                        return(View(DocumentoPorCobrarPago));
                    }
                    else
                    {
                        TempData["typemessage"] = "2";
                        TempData["message"]     = "No se puede cargar la vista, error: " + DocumentoPorCobrarPago.RespuestaAjax.Mensaje;
                        return(View("Index"));
                    }
                }
                else
                {
                    TempData["typemessage"] = "2";
                    TempData["message"]     = "Verifique sus datos.";
                    return(View("Index"));
                }
            }
            catch (Exception ex)
            {
                string Mensaje = ex.Message.Replace("\r\n", "").Replace("\r", "").Replace("\n", "");
                TempData["typemessage"] = "2";
                TempData["message"]     = "No se puede cargar la vista, error: " + Mensaje;
                return(View("Index"));
            }
        }