Beispiel #1
0
        private void GuardarDetalle() //Aqui guardamos el inventario a la base de datos
        {
            GridViewRow fila;


            //  INE.ServiciosWeb.Inventario.Contrato.Inventario inventario = new INE.ServiciosWeb.Inventario.Contrato.Inventario();
            //  INE.ServiciosWeb.Inventario.Contrato.InventarioDetalle inventarioDetalle;

            InventarioServicio_T.Inventario        inventario        = new InventarioServicio_T.Inventario();
            InventarioServicio_T.InventarioDetalle inventarioDetalle = new InventarioDetalle();

            Venta venta = new Venta();

            // INE.ServiciosWeb.Venta.Contrato.Venta venta = new INE.ServiciosWeb.Venta.Contrato.Venta();
            VentaDetalle ventaDetalle;
            //  INE.ServiciosWeb.Venta.Contrato.VentaDetalle ventaDetalle;
            Int32 c;
            Int32 columnasVisibles;

            FormsIdentity             id     = (FormsIdentity)Context.User.Identity;
            FormsAuthenticationTicket ticket = id.Ticket;
            string data = ticket.UserData;

            Utils.Usuario user = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <Utils.Usuario>(data);


            columnasVisibles = ObtenerConteoColVisible(GrdDetalle);

            #region Inventario

            inventario.IdInventario = 0;
            inventario.IdAgenteEconomicoAgenteTipo = user.IdAgenteEconomicoAgenteTipo;
            // inventario.Activo = true;
            inventario.Fecha         = Convert.ToDateTime(GrdInventario.GetRowValues(GrdInventario.FocusedRowIndex, "Fecha"));
            inventario.Observaciones = TxtObservacion.Text;
            inventario.HoraCorte     = Convert.ToDateTime(ASPxTimeEdit.Value).TimeOfDay;


            for (c = 2; c < columnasVisibles; c++)
            {
                fila = GrdDetalle.Rows[0];

                inventarioDetalle = new InventarioDetalle();

                //inventarioDetalle.Activo = true;
                inventarioDetalle.IdProductoxPresentacion = Convert.ToInt32((fila.Cells[c].FindControl("HdfIdProductoXPresentacion" + c.ToString()) as HiddenField).Value);
                inventarioDetalle.CapacidadInstalada      = Convert.ToDecimal(GrdInventario.GetRowValues(GrdInventario.FocusedRowIndex, "Cap_" + (fila.Cells[c].FindControl("HdfIdProducto" + c.ToString()) as HiddenField).Value));
                inventarioDetalle.InventarioTotal         = Convert.ToDecimal((fila.Cells[c].FindControl("TxtCampo" + c.ToString()) as TextBox).Text);
                inventario.InventarioDetalle = inventario.InventarioDetalle ?? new List <InventarioDetalle>();
                inventario.InventarioDetalle.Add(inventarioDetalle);
            }

            InventarioServicio_T.InventarioContratoClient invent = new InventarioContratoClient();

            if (invent.VerificarInventario(inventario))
            {
                LblMensaje.Text     = "El día de inventario que está tratando de registrar, ya ha sido guardado en el Sistema";
                Image2.Visible      = true;
                LblMensaje.Visible  = true;
                ASPxGuardar.Enabled = false;

                return;
            }

            invent.Guardar(inventario, user.IdCuenta);

            #region Venta

            venta.IdVenta = 0;
            venta.IdAgenteEconomicoAgenteTipo = user.IdAgenteEconomicoAgenteTipo;
            //venta.IdUsuarioRegistro = (Page.User as Usuario).IdCuenta;
            //venta.FechaRegistro = DateTime.Now;
            //venta.IdUsuarioModificacion = (Page.User as Usuario).IdCuenta;
            //venta.FechaModificacion = DateTime.Now;
            //venta.Activo = true;
            venta.Fecha         = Convert.ToDateTime(GrdInventario.GetRowValues(GrdInventario.FocusedRowIndex, "Fecha")).AddDays(-1);
            venta.Observaciones = TxtObservacion.Text;



            for (c = 2; c < columnasVisibles; c++)
            {
                fila         = GrdDetalle.Rows[1];
                ventaDetalle = new VentaDetalle();
                //ventaDetalle.Activo = true;
                ventaDetalle.IdProductoxPresentacion = Convert.ToInt32((fila.Cells[c].FindControl("HdfIdProductoXPresentacion" + c.ToString()) as HiddenField).Value);
                //ventaDetalle.FechaModificacion = DateTime.Now;
                // ventaDetalle.IdUsuarioModificacion = (Page.User as Usuario).IdCuenta;
                //ventaDetalle.IdUsuarioRegistro = (Page.User as Usuario).IdCuenta;
                //ventaDetalle.FechaRegistro = DateTime.Now;
                ventaDetalle.Volumen = Convert.ToDecimal((fila.Cells[c].FindControl("TxtCampo" + c.ToString()) as TextBox).Text);
                ventaDetalle.Precio  = Convert.ToDecimal((GrdDetalle.Rows[2].Cells[c].FindControl("TxtCampo" + c.ToString()) as TextBox).Text);
                venta.VentaDetalles  = venta.VentaDetalles ?? new List <VentaDetalle>();
                venta.VentaDetalles.Add(ventaDetalle);
            }

            VentaServicio_T.VentaContratoClient vent = new VentaContratoClient();
            vent.Guardar(venta, user.IdCuenta);

            #endregion

            CargarGrid(user.IdAgenteEconomico, ObtenerNumeroMes(DropDownListMes.Text));

            ModalPopupExtender1.Hide();

            System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), "Script2", "$.unblockUI()", true);

            EnllavarDetalle(true);

            #endregion
        }