예제 #1
0
        protected void btnliquidacion_Click(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CancelEdit();", true);
            }

            try
            {
                _idSeguimiento = Convert.ToInt32(Session["IdSeguimiento"]);

                if (_idSeguimiento == 0)
                {
                    throw new Exception("Solo se pueden cambiar a estado liquidacion los seguimientos que esten guardados y con estado en planta");
                }
                objOrdenCompraWCF = new OrdenCompraWCFClient();
                objOrdenCompraWCF.Registrar_OcImpSeg_Liquidacion(
                    ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, _idSeguimiento);


                //Session.Remove("lstocparcial");
                //Session.Remove("lstocparcialsel");
                //Session.Remove("IdSeguimiento");
                btnguardar.Enabled         = false;
                btneliminarseg.Enabled     = false;
                btnbuscarocparcial.Enabled = false;
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "AvisoOk('Se cambio a estado LIQUIDADO el seguimiento.');", true);
                //Response.Redirect("~/Compras/OC/frmOcSegImpLista.aspx");
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
예제 #2
0
        protected void btneliminarseg_Click(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CancelEdit();", true);
            }

            try
            {
                //List<OrdenCompraBE> lstocsel = new List<OrdenCompraBE>();
                //List<USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lstocparcial = new List<USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();
                List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lstocparcialSel = new List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();
                string no_RegistroParcial = string.Empty;
                string op_oc = string.Empty;

                _idSeguimiento = Convert.ToInt32(Session["IdSeguimiento"]);


                objOrdenCompraWCF = new OrdenCompraWCFClient();
                objOrdenCompraWCF.Eliminar_OcImp_Seguimiento(
                    ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, _idSeguimiento, no_RegistroParcial, 0);


                Session.Remove("lstocparcial");
                Session.Remove("lstocparcialsel");
                Session.Remove("IdSeguimiento");

                Response.Redirect("~/Compras/OC/frmOcSegImpLista.aspx");
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
        private void CargarSeguimiento()
        {
            DateTime fechainicial    = Convert.ToDateTime(dpFechaInicio.SelectedDate);
            DateTime fechafinal      = Convert.ToDateTime(dpFechaFinal.SelectedDate);
            DateTime?fechaingresoini = dpFechaIngresoIni.IsEmpty ? (DateTime?)null : dpFechaIngresoIni.SelectedDate;
            DateTime?fechaingresofin = dpFechaIngresoIni.IsEmpty ? (DateTime?)null : dpFechaIngresoFin.IsEmpty ? (DateTime?)null : dpFechaIngresoFin.SelectedDate;

            if (fechaingresoini == (DateTime?)null || fechaingresofin == (DateTime?)null)
            {
                fechaingresoini = (DateTime?)null;
                fechaingresofin = (DateTime?)null;
            }
            string agendaNombre = txtproveedor.Text;
            string strestados   = string.Empty;
            var    collection   = cbestado.CheckedItems;

            foreach (var x in collection)
            {
                strestados = strestados + x.Value.ToString() + ",";
            }

            strestados = strestados.Trim() == string.Empty ? string.Empty : strestados.Substring(0, strestados.Length - 1);

            objOrdenCompraWCF = new OrdenCompraWCFClient();


            List <USP_Sel_Genesys_Oc_SegImpResult> lst = new List <USP_Sel_Genesys_Oc_SegImpResult>();

            lst = objOrdenCompraWCF.Seleccionar_GenesysOC_SeguimientoLista(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                           fechainicial, fechafinal, agendaNombre, strestados, fechaingresoini, fechaingresofin).ToList();
            gvwSeguimiento.DataSource = lst;
            gvwSeguimiento.DataBind();
            Session["lstseguimiento"] = JsonHelper.JsonSerializer(lst);
        }
예제 #4
0
        protected void grdOC_ItemCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "CrearParcial")
                {
                    Response.Redirect("~/Compras/OC/frmOcImpParcial.aspx?Op=" + e.CommandArgument.ToString());
                    //ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "ShowForm(" + e.CommandArgument.ToString() + ");", true);
                }

                if (e.CommandName == "EliminarParcial")
                {
                    Int32 op = Convert.ToInt32(e.CommandArgument.ToString());
                    OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();

                    objOrdenCompraWCF.Eliminar_Oc_Parcial(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, op, "0");

                    lblMensaje.CssClass = "Se eliminó el registro seleccionado";
                    CargarOC();
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
예제 #5
0
        private void CargarEstados()
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_OC_EstadoResult> lst = new List <USP_Sel_Genesys_OC_EstadoResult>();

            lst = objOrdenCompraWCF.Seleccionar_GenesysOC_Estados(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario).ToList();

            cboEstado.DataSource     = lst;
            cboEstado.DataTextField  = "NombreEstado";
            cboEstado.DataValueField = "Id_Estado";
            cboEstado.DataBind();
        }
예제 #6
0
        private void ValidarCantidades(List <USP_Sel_OC_OpParcialResult> lstparcial)
        {
            OrdenCompraWCFClient            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_OC_OpLineaResult> lst_OcOplinea     = new List <USP_Sel_OC_OpLineaResult>();

            lst_OcOplinea = objOrdenCompraWCF.Seleccionar_OC_OPLinea(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                     Convert.ToInt32(txtop.Text)).ToList();


            if (Math.Round(Convert.ToDecimal(lstparcial.Sum(x => x.Cantidad)), 2) != Math.Round(Convert.ToDecimal(lst_OcOplinea.Sum(x => x.Cantidad)), 2))
            {
                throw new Exception("Las cantidad total de la OC es distinta a la Cantidad de los parciales");
            }
        }
예제 #7
0
        protected void gvwocparcialsel_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CancelEdit();", true);
            }

            try
            {
                //List<OrdenCompraBE> lstocsel = new List<OrdenCompraBE>();
                //List<USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lstocparcial = new List<USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();
                List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lstocparcialSel = new List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();
                string no_RegistroParcial = string.Empty;
                string op_oc = string.Empty;

                _idSeguimiento = Convert.ToInt32(Session["IdSeguimiento"]);

                if (!string.IsNullOrEmpty(Session["lstocparcialsel"] as string))
                {
                    lstocparcialSel = JsonHelper.JsonDeserialize <List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> >((string)Session["lstocparcialsel"]);
                }
                if (lstocparcialSel.Any())
                {
                    string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
                    no_RegistroParcial = commandArgs[0];
                    op_oc = commandArgs[1];

                    //no_RegistroParcial = e.CommandArgument.ToString();

                    if (e.CommandName == "DelOCSel")
                    {
                        objOrdenCompraWCF = new OrdenCompraWCFClient();
                        objOrdenCompraWCF.Eliminar_OcImp_Seguimiento(
                            ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, _idSeguimiento, no_RegistroParcial, Convert.ToInt32(op_oc));

                        lstocparcialSel.Remove(lstocparcialSel.Where(x => x.No_RegistroParcial == no_RegistroParcial && x.Op_OC == Convert.ToDecimal(op_oc)).First());

                        gvwocparcialsel.DataSource = lstocparcialSel;
                        gvwocparcialsel.DataBind();

                        Session["lstocparcialsel"] = JsonHelper.JsonSerializer(lstocparcialSel);
                    }
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
예제 #8
0
        private void CargarParcialesConSeguimiento()
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lst = new List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();

            lst = objOrdenCompraWCF.Seleccionar_GenesysOC_ImpParciales(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                Convert.ToDateTime(dtpfechainicial.SelectedDate), Convert.ToDateTime(dtpfechafinal.SelectedDate), txtproveedor.Text.Trim(),
                _idSeguimiento).ToList();

            gvwocparcialsel.DataSource = lst;
            gvwocparcialsel.DataBind();
            Session["lstocparcialsel"] = JsonHelper.JsonSerializer(lst);
        }
예제 #9
0
        private void CargarTipoVia()
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_OC_TipoViaResult> lst = new List <USP_Sel_Genesys_OC_TipoViaResult>();

            lst = objOrdenCompraWCF.Seleccionar_GenesysOC_TipoVia(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario).ToList();

            cbotipovia.DataSource     = lst;
            cbotipovia.DataTextField  = "NombreVia";
            cbotipovia.DataValueField = "Id_TipoVia";
            cbotipovia.DataBind();

            cbotipovia.SelectedValue = "1";
            txtnrodua.Text           = "235-";
        }
예제 #10
0
        private void GuardarSeguimiento()
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> lstocparcialSel = new List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult>();
            USP_Sel_Genesys_OC_ImpSegEntidadResult            eCabecera       = new USP_Sel_Genesys_OC_ImpSegEntidadResult();
            List <OrdenCompraSeguimientoBE> lstdetalle = new List <OrdenCompraSeguimientoBE>();
            OrdenCompraSeguimientoBE        eoc;

            decimal?id_segimp = _idSeguimiento;

            eCabecera.Id_SegImp          = _idSeguimiento;
            eCabecera.Liquidacion        = 0;
            eCabecera.FechaLiquidacion   = (DateTime?)null;
            eCabecera.UsuarioLiquidacion = 0;
            eCabecera.Id_Estado          = Convert.ToInt32(cboEstado.SelectedValue);
            eCabecera.CantidadContenedor = Convert.ToDecimal(txtnrocontenedores.Text.Trim() == string.Empty ? "0" : txtnrocontenedores.Text);
            eCabecera.Id_Agente          = acbAgente.Text.Split('-')[0];
            eCabecera.FechaETDAprox      = dtpfechaetdaprox.IsEmpty ? (DateTime?)null : dtpfechaetdaprox.SelectedDate;
            eCabecera.FechaETD           = dtpfechaetdconfirmado.IsEmpty ? (DateTime?)null : dtpfechaetdconfirmado.SelectedDate;
            eCabecera.FechaETA           = dtpfechaeta.IsEmpty ? (DateTime?)null : dtpfechaeta.SelectedDate;
            eCabecera.DiasLibresSE       = txtdiaslibresSe2.Text == string.Empty ? (int?)null : Convert.ToInt32(txtdiaslibresSe2.Text);
            eCabecera.FechaIngresoAlm    = dtpfechaingreso.IsEmpty ? (DateTime?)null : dtpfechaingreso.SelectedDate;
            eCabecera.Id_TipoVia         = Convert.ToInt32(cbotipovia.SelectedValue);
            eCabecera.DiasAlmacenaje     = txtdiasalmacenaje2.Text == string.Empty ? (int?)null : Convert.ToInt32(txtdiasalmacenaje2.Text);
            eCabecera.NumeroDua          = txtnrodua.Text.Trim();
            eCabecera.NumeroBL           = txtnrobl.Text.Trim();
            eCabecera.LinkDua            = txtlinkdua.Text.Trim();

            lstocparcialSel = JsonHelper.JsonDeserialize <List <USP_Sel_Genesys_OC_Imp_SeleccionarOCResult> >((string)Session["lstocparcialsel"]);

            foreach (USP_Sel_Genesys_OC_Imp_SeleccionarOCResult e in lstocparcialSel)
            {
                eoc = new OrdenCompraSeguimientoBE(Convert.ToInt32(e.Op_OC), e.No_RegistroParcial, Convert.ToInt32(e.Id_SegImp));
                lstdetalle.Add(eoc);
            }


            objOrdenCompraWCF.Registrar_Seguimiento(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                eCabecera, lstdetalle.ToArray(), ref id_segimp);

            _idSeguimiento           = Convert.ToInt32(id_segimp);
            Session["IdSeguimiento"] = _idSeguimiento;

            CargarParcialesConSeguimiento();
            CargarSeguimientoImportacion();
        }
예제 #11
0
        private void CargarOC()
        {
            DateTime fechainicial = Convert.ToDateTime(dpFechaInicio.SelectedDate);
            DateTime fechafinal   = Convert.ToDateTime(dpFechaFinal.SelectedDate);
            string   agendaNombre = txtproveedor.Text;

            OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();


            List <USP_Sel_OCResult> lst = new List <USP_Sel_OCResult>();

            lst = objOrdenCompraWCF.ListarOcImportacion(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                        fechainicial, fechafinal, agendaNombre).ToList();
            grdOC.DataSource = lst;
            grdOC.DataBind();
            ViewState["lstOcImp"] = JsonHelper.JsonSerializer(lst);
        }
예제 #12
0
        private void RegistrarDocumento(string savePath, string fileName)
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            _idSeguimiento    = Convert.ToInt32(Session["IdSeguimiento"]);

            var usuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;

            objOrdenCompraWCF.DocumentosSegImportacion_Registrar(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                _idSeguimiento, fileName, savePath);


            lblMensaje.Text = "El archivo se cargó correctamente.";

            //ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CloseAndRebind();", true);
            BuscarDocumentos();
        }
예제 #13
0
        private void GuardarOcParcial()
        {
            OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_OC_ImpResult>      CabOcParcial = new List <USP_Sel_Genesys_OC_ImpResult>();
            List <USP_Sel_Genesys_OC_ImpLineaResult> DetOcParcial = new List <USP_Sel_Genesys_OC_ImpLineaResult>();
            USP_Sel_Genesys_OC_ImpLineaResult        item         = new USP_Sel_Genesys_OC_ImpLineaResult();

            List <USP_Sel_OC_OpParcialResult> lstparcial = new List <USP_Sel_OC_OpParcialResult>();

            lstparcial   = JsonHelper.JsonDeserialize <List <USP_Sel_OC_OpParcialResult> >((string)Session["lstparcial"]);
            CabOcParcial = JsonHelper.JsonDeserialize <List <USP_Sel_Genesys_OC_ImpResult> >((string)Session["lstparcialOp"]);

            ValidarCantidades(lstparcial);


            foreach (USP_Sel_Genesys_OC_ImpResult cab in CabOcParcial)
            {
                foreach (USP_Sel_OC_OpParcialResult e in lstparcial.Where(x => x.NroParcial == cab.NroParcial).ToList())
                {
                    item                    = new USP_Sel_Genesys_OC_ImpLineaResult();
                    item.Id                 = e.Id;
                    item.NroParcial         = e.NroParcial;
                    item.Op_OC              = Convert.ToDecimal(txtop.Text);
                    item.OpParcial_OC       = 0;
                    item.No_RegistroParcial = cab.No_RegistroParcial;
                    item.Linea              = 0;
                    item.Id_Item            = e.ItemCodigo;
                    item.Item_ID            = e.Kardex;
                    item.Id_UnidadInv       = e.Id_UnidadInv;
                    item.Cantidad           = e.Cantidad;
                    item.Precio             = e.Precio;
                    item.Importe            = e.Cantidad * e.Precio;
                    item.Observaciones      = string.Empty;
                    DetOcParcial.Add(item);
                }
            }

            objOrdenCompraWCF.Registrar_Oc_Parcial(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                   CabOcParcial.ToArray(), DetOcParcial.ToArray());

            lblMensaje.Text = "Se registró correctamente la OC Parcial";
            ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "AvisoOk('Se registró correctamente la OC Parcial');", true);
            CargarDatos(Convert.ToInt32(txtop.Text), Convert.ToInt32(cbonroparcial.Text == string.Empty ? "0" : cbonroparcial.Text));
        }
예제 #14
0
        private void CargarKardex(int op)
        {
            OrdenCompraWCFClient            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_OC_OpLineaResult> lst_OcOplinea     = new List <USP_Sel_OC_OpLineaResult>();

            lst_OcOplinea = objOrdenCompraWCF.Seleccionar_OC_OPLinea(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                     op).ToList();

            var lstkardex = from x in lst_OcOplinea
                            select new
            {
                ValueField = x.Kardex,
                TextField  = x.Nombre
            };

            cbokardex.DataSource     = lstkardex;
            cbokardex.DataTextField  = "TextField";
            cbokardex.DataValueField = "ValueField";
            cbokardex.DataBind();
        }
예제 #15
0
        private void BuscarDocumentos()
        {
            if (Session["Usuario"] == null)
            {
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CancelEdit();", true);
            }

            try
            {
                _idSeguimiento    = Convert.ToInt32(Session["IdSeguimiento"]);
                objOrdenCompraWCF = new OrdenCompraWCFClient();

                gvwOCDocs.DataSource = objOrdenCompraWCF.DocumentosSegImportacion_Seleccionar(
                    ((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                    ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, _idSeguimiento);

                gvwOCDocs.DataBind();
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = "ERROR: " + ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
예제 #16
0
        protected void gvwOCDocs_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Eliminar")
            {
                _idSeguimiento = Convert.ToInt32(Session["IdSeguimiento"]);
                string fullPath, filename;

                var    ruta    = ConfigurationSettings.AppSettings.Get("RutaDocumentosOC");
                string DelPath = ruta + "\\" + ((Usuario_LoginResult)Session["Usuario"]).nombreComercial.ToString() + "\\" + _idSeguimiento + "\\";

                try
                {
                    if (gvwOCDocs.Rows.Count == 0)
                    {
                        return;
                    }
                    objOrdenCompraWCF = new OrdenCompraWCFClient();

                    filename = e.CommandArgument.ToString();
                    fullPath = Path.Combine(DelPath, filename);
                    objOrdenCompraWCF.DocumentosSegImportacion_Eliminar(
                        ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, _idSeguimiento, filename);
                    if ((System.IO.File.Exists(fullPath)))
                    {
                        System.IO.File.Delete(fullPath);
                    }

                    BuscarDocumentos();
                }
                catch (Exception ex)
                {
                    lblMensaje.Text     = ex.Message;
                    lblMensaje.CssClass = "mensajeError";
                }
            }
        }
예제 #17
0
        private void Reporte_Cargar()
        {
            List <VBG00536XResult> lista = new List <VBG00536XResult>();

            try {
                OrdenCompraWCFClient objWCF = new OrdenCompraWCFClient();
                this.lblRegistros.Text = "Ingreso Reporte_Cargar";

                DateTime FechaDesde = Convert.ToDateTime(dpFecDesde.SelectedDate);
                DateTime FechaHasta = Convert.ToDateTime(dpFecHasta.SelectedDate);

                string idAgenda = txtProveedor.Text;

                int IdEmpresa     = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
                int CodigoUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;

                int Estado = Convert.ToInt32(this.ddlEstados.SelectedValue);

                this.lblRegistros.Text = "Ingreso OrdenCompraListar";
                lista = objWCF.OrdenCompraListar(IdEmpresa, CodigoUsuario, idAgenda, FechaDesde, FechaHasta, Estado).ToList();
                this.lblRegistros.Text = "Salio OrdenCompraListar";

                grdDocumentos.DataSource = lista;
                grdDocumentos.DataBind();


                lblRegistros.CssClass = "mensajeExito";
            }
            catch (Exception ex)
            {
                this.lblRegistros.Text = ex.Message + "- Reporte_Cargar ";
                lblRegistros.CssClass  = "mensajeError";

                rwmReporte.RadAlert(ex.Message, 500, 100, "Error", "");
            }
        }
예제 #18
0
        private void CargarDatos(int op, int nroparcial)
        {
            OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();


            List <USP_Sel_OC_OpResult>      lst_OcOp      = new List <USP_Sel_OC_OpResult>();
            List <USP_Sel_OC_OpLineaResult> lst_OcOplinea = new List <USP_Sel_OC_OpLineaResult>();
            //List<USP_Sel_Genesys_OC_ImpLineaResult> lst_OcOpParcial = new List<USP_Sel_Genesys_OC_ImpLineaResult>();
            List <USP_Sel_OC_OpParcialResult>   lst_OcOpParcialLinea = new List <USP_Sel_OC_OpParcialResult>();
            List <USP_Sel_Genesys_OC_ImpResult> lst_OCParcialOp      = new List <USP_Sel_Genesys_OC_ImpResult>();

            lst_OcOp = objOrdenCompraWCF.Seleccionar_OC_OP(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                           op).ToList();

            lst_OcOplinea = objOrdenCompraWCF.Seleccionar_OC_OPLinea(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                     op).ToList();

            lst_OcOpParcialLinea = objOrdenCompraWCF.Seleccionar_OC_OpParcial(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                              op).ToList();



            gvwoc.DataSource = lst_OcOplinea;
            gvwoc.DataBind();

            gvwparcial.DataSource = lst_OcOpParcialLinea.Where(x => x.NroParcial == nroparcial && x.Op_OC == op).ToList();
            gvwparcial.DataBind();



            //var lstkardex = from x in lst_OcOplinea
            //               select new
            //               {
            //                   ValueField = x.Kardex,
            //                   TextField = x.Nombre
            //               };

            //cbokardex.DataSource = lstkardex;
            //cbokardex.DataTextField = "TextField";
            //cbokardex.DataValueField = "ValueField";
            //cbokardex.DataBind();

            txtop.Text              = lst_OcOp.Select(x => x.Op.ToString()).First();
            txtagendanombre.Text    = lst_OcOp.Select(x => x.AgendaNombre).First();
            txtidagenda.Text        = lst_OcOp.Select(x => x.ID_Agenda).First();
            txtnrooc.Text           = lst_OcOp.Select(x => x.NoRegistro).First();
            txtobservaciones.Text   = lst_OcOp.Select(x => x.Observaciones).First();
            txtnroimpparcial.Text   = lst_OcOp.Select(x => x.NoRegistro).First();
            dtpfechaoc.SelectedDate = lst_OcOp.Select(x => x.FechaOrden).First();

            USP_Sel_Genesys_OC_ImpResult eCab;

            foreach (int?det in lst_OcOpParcialLinea.Select(x => x.NroParcial).Distinct().ToList())
            {
                eCab                    = new USP_Sel_Genesys_OC_ImpResult();
                eCab.Op_OC              = Convert.ToDecimal(txtop.Text);
                eCab.No_Registro        = txtnroimpparcial.Text;
                eCab.NroParcial         = det;
                eCab.OpParcial_OC       = 0;
                eCab.No_RegistroParcial = txtnroimpparcial.Text + "." + det.ToString();
                eCab.EsParcial          = 1;
                eCab.Neto               = lst_OcOpParcialLinea.Where(x => x.NroParcial == det && x.Op_OC == op).ToList().Sum(x => x.Cantidad * x.Precio);
                eCab.Subtotal           = lst_OcOpParcialLinea.Where(x => x.NroParcial == det && x.Op_OC == op).ToList().Sum(x => x.Cantidad * x.Precio);
                eCab.Impuestos          = 0;
                eCab.Total              = 0;
                eCab.Observaciones      = txtobservaciones.Text;
                eCab.FechaIngresoAlm    = (DateTime?)null;
                eCab.FlgOcProcesada     = 0;
                eCab.Id_SegImp          = 0;
                lst_OCParcialOp.Add(eCab);
            }



            CargarComboParcial(lst_OCParcialOp);

            Session["lstoc"]        = JsonHelper.JsonSerializer(lst_OcOplinea);
            Session["lstparcial"]   = JsonHelper.JsonSerializer(lst_OcOpParcialLinea);
            Session["lstparcialOp"] = JsonHelper.JsonSerializer(lst_OCParcialOp);
        }
예제 #19
0
        protected void gvwparcial_ItemCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                List <USP_Sel_OC_OpParcialResult> lst_OcOpParcialLinea = new List <USP_Sel_OC_OpParcialResult>();
                List <USP_Sel_OC_OpLineaResult>   lst_OcOpLinea        = new List <USP_Sel_OC_OpLineaResult>();

                lst_OcOpParcialLinea = JsonHelper.JsonDeserialize <List <USP_Sel_OC_OpParcialResult> >((string)Session["lstparcial"]);
                lst_OcOpLinea        = JsonHelper.JsonDeserialize <List <USP_Sel_OC_OpLineaResult> >((string)Session["lstoc"]);

                Int32 id = 0;
                //decimal? cantidaddisponible = 0;
                string       nroparcial = string.Empty;
                string       kardex     = string.Empty;
                GridDataItem item       = (GridDataItem)e.Item;
                //Int32 nroparcial = Convert.ToInt32(DataBinder.Eval(item.DataItem, "NroParcial"));



                if (lst_OcOpParcialLinea.Any())
                {
                    string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
                    id         = Convert.ToInt32(commandArgs[0]);
                    nroparcial = commandArgs[1];
                    kardex     = commandArgs[2];

                    hvid.Value = id.ToString();// e.CommandArgument.ToString();


                    if (e.CommandName == "EliminarItem")
                    {
                        OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();


                        lst_OcOpParcialLinea.Remove(lst_OcOpParcialLinea.Where(x => x.Id == id && x.NroParcial == Convert.ToInt32(nroparcial) && x.Kardex == Convert.ToDecimal(kardex)).First());



                        Session["lstparcial"] = JsonHelper.JsonSerializer(lst_OcOpParcialLinea);

                        List <USP_Sel_Genesys_OC_ImpResult> CabOcParcial = new List <USP_Sel_Genesys_OC_ImpResult>();
                        CabOcParcial = JsonHelper.JsonDeserialize <List <USP_Sel_Genesys_OC_ImpResult> >((string)Session["lstparcialOp"]);

                        if (!lst_OcOpParcialLinea.Where(x => x.NroParcial == Convert.ToInt32(nroparcial)).Any())
                        {
                            CabOcParcial.Remove(CabOcParcial.Where(x => x.NroParcial == Convert.ToInt32(nroparcial)).First());
                            Session["lstparcialOp"] = JsonHelper.JsonSerializer(CabOcParcial);
                        }

                        hvid.Value = "0";

                        //CargarDatos(Convert.ToInt32(txtop.Text),1); no habilitar
                        CargarCantidadDisponible();
                        lblMensaje.CssClass   = "Se eliminó el registro seleccionado";
                        gvwparcial.DataSource = lst_OcOpParcialLinea.Where(x => x.NroParcial == Convert.ToInt32(cbonroparcial.Text.ToString() == string.Empty ? "0" : cbonroparcial.Text.ToString())).ToList();
                        gvwparcial.DataBind();
                    }
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
예제 #20
0
        private void AgregarItemParcial(int op)
        {
            List <USP_Sel_OC_OpParcialResult>   lstparcial      = new List <USP_Sel_OC_OpParcialResult>();
            List <USP_Sel_OC_OpLineaResult>     lst_OcOplinea   = new List <USP_Sel_OC_OpLineaResult>();
            List <USP_Sel_Genesys_OC_ImpResult> lst_OCParcialOp = new List <USP_Sel_Genesys_OC_ImpResult>();

            OrdenCompraWCFClient objOrdenCompraWCF = new OrdenCompraWCFClient();

            //List<USP_Sel_OC_OpParcialResult> lst_OcOpParcialLinea = new List<USP_Sel_OC_OpParcialResult>();
            USP_Sel_OC_OpParcialResult ItemParcial = new USP_Sel_OC_OpParcialResult();
            double CantidadTotalKardex, PrecioUnitario;

            lst_OcOplinea = objOrdenCompraWCF.Seleccionar_OC_OPLinea(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                     op).ToList();

            Int32  kardex = Convert.ToInt32(cbokardex.SelectedValue.ToString() == string.Empty ? "0" : cbokardex.SelectedValue.ToString());
            double CantidadParcial = (Convert.ToDouble(txtcantidad2.Text.Trim() == string.Empty ? "0" : txtcantidad2.Text));

            if (Convert.ToInt32(hvid.Value.ToString() == string.Empty ? "0" : hvid.Value.ToString()) == 0)
            {
                CantidadTotalKardex = Convert.ToDouble(lst_OcOplinea.Where(x => x.Kardex == kardex).Sum(x => x.Cantidad));
            }
            else
            {
                CantidadTotalKardex = Convert.ToDouble(lst_OcOplinea.Where(x => x.Kardex == kardex).Sum(x => x.Cantidad));
            }

            PrecioUnitario = Convert.ToDouble(txtprecio2.Text == string.Empty ? "0" : txtprecio2.Text);


            //obtencion de lista de parciales
            lstparcial = JsonHelper.JsonDeserialize <List <USP_Sel_OC_OpParcialResult> >((string)Session["lstparcial"]);
            if (lstparcial.Where(x => x.Kardex == kardex && x.NroParcial == Convert.ToInt32(cbonroparcial.Text)).Any())
            {
                throw new ArgumentException("ERROR: Solo puede existir un tipo de kardex por Parcial.");
            }


            if (CantidadParcial > CantidadTotalKardex)
            {
                throw new ArgumentException("ERROR: La cantidad que esta ingresando es superior a la cantidad disponible");
            }
            else if (PrecioUnitario < 0)
            {
                throw new ArgumentException("ERROR: El precio unitario debe ser positivo.");
            }
            else if (CantidadParcial <= 0)
            {
                throw new ArgumentException("ERROR: La cantidad debe ser mayor a 0");
            }
            else if (Math.Round(CantidadTotalKardex, 2) < Math.Round(Convert.ToDouble(lstparcial.Where(x => x.Kardex == kardex).Sum(x => x.Cantidad))))
            {
                throw new ArgumentException("ERROR: La cantidad total del kardex la OC no puede ser a la cantidad total del kardex de los parciales");
            }

            else
            {
                ItemParcial                    = JsonHelper.JsonDeserialize <USP_Sel_OC_OpParcialResult>((string)Session["lstparcial"]);
                ItemParcial.Op_OC              = Convert.ToInt32(txtop.Text);
                ItemParcial.NroParcial         = Convert.ToInt32(cbonroparcial.Text);
                ItemParcial.No_RegistroParcial = txtnroimpparcial.Text + "." + cbonroparcial.Text;
                ItemParcial.Id                 = Convert.ToInt32(hvid.Value.ToString() == string.Empty ? "0" : hvid.Value.ToString());
                ItemParcial.ItemCodigo         = lst_OcOplinea.Where(x => x.Kardex == kardex).Select(x => x.ItemCodigo).First();
                ItemParcial.Kardex             = kardex;
                ItemParcial.NombreKardex       = cbokardex.Text;
                ItemParcial.Id_UnidadInv       = lst_OcOplinea.Where(x => x.Kardex == kardex).Select(x => x.ID_UnidadInv).First();
                ItemParcial.Cantidad           = Convert.ToDecimal(txtcantidad2.Text);
                ItemParcial.Precio             = Convert.ToDecimal(txtprecio2.Text);
                ItemParcial.Importe            = ItemParcial.Cantidad * ItemParcial.Precio;


                if (ItemParcial.Id == 0)
                {
                    lstparcial.Add(ItemParcial);
                }
                else
                {
                    lstparcial.Where(x => x.Id == ItemParcial.Id).ToList().ForEach(x => x.Cantidad = ItemParcial.Cantidad);
                    lstparcial.Where(x => x.Id == ItemParcial.Id).ToList().ForEach(x => x.Precio   = ItemParcial.Precio);
                    lstparcial.Where(x => x.Id == ItemParcial.Id).ToList().ForEach(x => x.Importe  = ItemParcial.Cantidad * ItemParcial.Precio);
                }

                lst_OCParcialOp = JsonHelper.JsonDeserialize <List <USP_Sel_Genesys_OC_ImpResult> >((string)Session["lstparcialOp"]);
                decimal?neto = lstparcial.Where(x => x.NroParcial == ItemParcial.NroParcial && x.Op_OC == op).ToList().Sum(x => x.Cantidad * x.Precio);

                if (lst_OCParcialOp.Where(x => x.NroParcial == Convert.ToInt32(ItemParcial.NroParcial)).ToList().Any())
                {
                    lst_OCParcialOp.Where(x => x.NroParcial == ItemParcial.NroParcial).ToList().ForEach(x => x.Neto     = neto);
                    lst_OCParcialOp.Where(x => x.NroParcial == ItemParcial.NroParcial).ToList().ForEach(x => x.Subtotal = neto);
                }
                else
                {
                    USP_Sel_Genesys_OC_ImpResult eCab;
                    eCab                    = new USP_Sel_Genesys_OC_ImpResult();
                    eCab.Op_OC              = Convert.ToDecimal(txtop.Text);
                    eCab.No_Registro        = txtnroimpparcial.Text;
                    eCab.OpParcial_OC       = 0;
                    eCab.NroParcial         = Convert.ToInt32(cbonroparcial.Text);
                    eCab.No_RegistroParcial = txtnroimpparcial.Text + "." + cbonroparcial.Text;
                    eCab.EsParcial          = 1;
                    eCab.Neto               = neto;
                    eCab.Subtotal           = neto;
                    eCab.Impuestos          = 0;
                    eCab.Total              = 0;
                    eCab.Observaciones      = txtobservaciones.Text;
                    eCab.FechaIngresoAlm    = (DateTime?)null;
                    eCab.FlgOcProcesada     = 0;
                    eCab.Id_SegImp          = 0;
                    lst_OCParcialOp.Add(eCab);


                    CargarComboParcial(lst_OCParcialOp);
                }

                //gvwparcial.DataSource = lstparcial.Where(x => x.NroParcial == Convert.ToInt32(cbonroparcial.Text == string.Empty ? "0" : cbonroparcial.Text)).ToList();

                gvwparcial.DataSource = lstparcial.Where(x => x.NroParcial == ItemParcial.NroParcial).ToList();
                gvwparcial.DataBind();

                Session["lstparcial"]   = JsonHelper.JsonSerializer(lstparcial);
                Session["lstparcialOp"] = JsonHelper.JsonSerializer(lst_OCParcialOp);

                //CargarComboParcial(lstparcial);

                hvid.Value = "0";
            }
            CargarCantidadDisponible();
        }
예제 #21
0
        protected void btnAnular_Click(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Security/frmCerrar.aspx");
            }

            GridItemCollection itemSel = grdDocumentos.SelectedItems;

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

            try
            {
                //if (itemSel.Count > 0)
                //{

                OrdenCompraWCFClient objWCF = new OrdenCompraWCFClient();
                int IdEmpresa     = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
                int CodigoUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;
                //foreach (GridItem item in itemSel)
                //{
                //    try
                //    {
                //        objWCF.Anular_OC(IdEmpresa, CodigoUsuario, Convert.ToInt32(item.Cells[3].Text));
                //    }
                //    catch /*(Exception ex)*/
                //    {
                //        this.lblRegistros.Text = " Anular_OC ";
                //        lblRegistros.CssClass = "mensajeError";

                //        listaErrores.Add(item.Cells[3].Text);
                //    }
                //}


                foreach (GridItem rowitem in grdDocumentos.MasterTableView.Items)
                {
                    GridDataItem dataitem = (GridDataItem)rowitem;
                    TableCell    cell     = dataitem["CheckColumn"];
                    CheckBox     checkBox = (CheckBox)cell.Controls[0].FindControl("Check");
                    if (checkBox.Checked == true && checkBox.Enabled == true)
                    {
                        try
                        {
                            objWCF.Anular_OC(IdEmpresa, CodigoUsuario, Convert.ToInt32(rowitem.Cells[4].Text));
                        }
                        catch /*(Exception ex)*/
                        {
                            this.lblRegistros.Text = " Anular_OC ";
                            lblRegistros.CssClass  = "mensajeError";

                            listaErrores.Add(rowitem.Cells[4].Text);
                        }
                    }
                }


                //}
            }
            catch (Exception ex)
            {
                this.lblRegistros.Text = ex.Message + "- btnAnular_Click ";
                lblRegistros.CssClass  = "mensajeError";


                if (listaErrores.Count > 0)
                {
                    string cadenaErrores = string.Join(",", listaErrores);
                    rwmReporte.RadAlert("Las Ops " + cadenaErrores + " presentaron errores, no se efectuaron cambios sobre estas OPs", 500, 100, "Error", "");
                }
                else
                {
                    rwmReporte.RadAlert(ex.Message, 500, 100, "Error", "");
                }
            }
            finally {
                Reporte_Cargar();
            }
        }
예제 #22
0
        private void CargarSeguimientoImportacion()
        {
            objOrdenCompraWCF = new OrdenCompraWCFClient();
            List <USP_Sel_Genesys_Oc_SegImp_IdSegResult> lst = new List <USP_Sel_Genesys_Oc_SegImp_IdSegResult>();

            lst = objOrdenCompraWCF.Seleccionar_GenesysOC_SegImp_IdSeg(
                ((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                _idSeguimiento).ToList();

            cboEstado.SelectedValue = Convert.ToString(lst.Select(x => x.Id_Estado).First());


            AutoCompleteBoxEntry objEntry = new AutoCompleteBoxEntry();

            objEntry.Text = lst.Select(x => (x.Id_Agente + "-" + x.AgenteNombre)).First();
            acbAgente.Entries.Add(objEntry);
            acbAgente.Enabled = true;

            dtpfechaetdaprox.SelectedDate      = lst.Select(x => x.FechaETDAprox).First();
            dtpfechaetdconfirmado.SelectedDate = lst.Select(x => x.FechaETD).First();
            dtpfechaeta.SelectedDate           = lst.Select(x => x.FechaETA).First();
            txtdiaslibresSe2.Text = lst.Select(x => x.DiasLibresSE).First().ToString();
            if (txtdiaslibresSe2.Text.Trim() == string.Empty || lst.Select(x => x.FechaETA).First() == (DateTime?)null)
            {
                dtpfechadiaslibrese.SelectedDate = (DateTime?)null;
            }
            else
            {
                dtpfechadiaslibrese.SelectedDate = lst.Select(x => x.FechaETA).First() == (DateTime?)null ? (DateTime?)null : Convert.ToDateTime(lst.Select(x => x.FechaETA).First()).AddDays(Convert.ToInt32(txtdiaslibresSe2.Text == string.Empty ? "0" : txtdiaslibresSe2.Text));
            }

            dtpfechaingreso.SelectedDate = lst.Select(x => x.FechaIngresoAlm).First();

            if (dtpfechaingreso.SelectedDate.ToString() != string.Empty)
            {
                if (dtpfechadiaslibrese.SelectedDate != (DateTime?)null)
                {
                    TimeSpan dias = Convert.ToDateTime(dtpfechadiaslibrese.SelectedDate) - Convert.ToDateTime(dtpfechaingreso.SelectedDate);
                    txtdiasSe.Text   = dias.Days.ToString();
                    txtestadoSe.Text = Convert.ToInt32(txtdiasSe.Text) <= 0 ? "NO" : "SI";
                }
            }
            txtdiasalmacenaje2.Text  = lst.Select(x => x.DiasAlmacenaje).First().ToString();
            cbotipovia.SelectedValue = lst.Select(x => x.Id_TipoVia.ToString()).First();
            txtnrodua.Text           = lst.Select(x => x.NumeroDua).First().ToString();
            txtnrobl.Text            = lst.Select(x => x.NumeroBL).First();
            txtlinkdua.Text          = lst.Select(x => x.LinkDua).First();
            txtnrocontenedores.Text  = lst.Select(x => x.CantidadContenedor).First().ToString();

            if (txtdiasalmacenaje2.Text.Trim() == string.Empty || lst.Select(x => x.FechaETA).First() == (DateTime?)null)
            {
                dtpfechaalmacenaje.SelectedDate = (DateTime?)null;
            }
            else
            {
                dtpfechaalmacenaje.SelectedDate = lst.Select(x => x.FechaETA).First() == (DateTime?)null ? (DateTime?)null : Convert.ToDateTime(lst.Select(x => x.FechaETA).First()).AddDays(Convert.ToInt32(txtdiasalmacenaje2.Text == string.Empty ? "0" : txtdiasalmacenaje2.Text));
            }

            if (lst.Select(x => x.Liquidacion).First() == 1)
            {
                btnguardar.Enabled     = false;
                btneliminarseg.Enabled = false;
                btnliquidacion.Enabled = false;
            }
            else
            {
                btnguardar.Enabled     = true;
                btneliminarseg.Enabled = true;
                btnliquidacion.Enabled = true;
            }
        }