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 }