public CrearCodigo(CodigoProducto codigo)
 {
     InitializeComponent();
     CodigoProducto = codigo;
     txtCodigo.Valor = codigo.Codigo;
     txtCodigo.Focus();
 }
 public ActionResult CodigoProducto(int productoId)
 {
     var codigo = new CodigoProducto
                             {
                                 ProductoId = productoId,
                                 Identifier = Guid.NewGuid()
                             };
     return PartialView(codigo);
 }
 private void btnCrearCodigo_Click(object sender, EventArgs e)
 {
     var codProd = new CodigoProducto {ProductoId = Producto.ProductoId};
     if (new CrearCodigo(codProd).ShowDialog() == DialogResult.OK)
     {
         ActualizarGrillaCodigos();
     }
 }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            errorProvider1.Dispose();

            var valido = Validacion.Validar(errorProvider1, new List<object>
                                                  {
                                                      txtDescripcion,
                                                      ddlMarca,
                                                      ddlRubro,
                                                      txtPrecio,
                                                      txtCodigo
                                                  });
            if (valido)
            {
                var cod = CodigoProductoRepository.Obtener(c => c.Codigo == txtCodigo.Valor
                                                && !c.Eliminado
                                                && c.Producto.CuentaId == UsuarioActual.CuentaId);
                if (cod != null)
                {
                    errorProvider1.SetError(txtCodigo, "Ya existe un producto con el código ingresado");
                    errorProvider1.SetIconPadding(txtCodigo, 2);
                    DialogResult = DialogResult.None;
                }
                else
                {
                    var prod = new Producto()
                           {
                               AceptaCantidadesDecimales = chxAceptaDecimales.Checked,
                               DisponibleEnDeposito = chxDisponibleEnDeposito.Checked,
                               Descripcion = txtDescripcion.Text,
                               MarcaId = Convert.ToInt32(ddlMarca.SelectedValue),
                               PrecioConIVA = txtPrecio.Valor.GetValueOrDefault(),
                               PrecioSinIVA = txtPrecioSinIva.Valor.GetValueOrDefault(),
                               RubroId = Convert.ToInt32(ddlRubro.SelectedValue),
                               StockReposicion = string.IsNullOrEmpty(txtStockReposicion.Valor)
                                                       ? (int?)null
                                                       : int.Parse(txtStockReposicion.Valor),
                               Identifier = Guid.NewGuid(),
                               CuentaId = UsuarioActual.CuentaId,
                               EsPromocion = false
                           };

                    ProductoRepository.Agregar(prod);
                    ProductoRepository.Commit();

                    var codigo = new CodigoProducto()
                                     {
                                         Codigo = txtCodigo.Valor,
                                         ProductoId = prod.ProductoId,
                                         Identifier = Guid.NewGuid()
                                     };
                    CodigoProductoRepository.Agregar(codigo);
                    CodigoProductoRepository.Commit();

                    ProductoId = prod.ProductoId;
                    ActualizacionPantallasHelper.ActualizarPantallaVentas();
                }
            }
            else
            {
                DialogResult = DialogResult.None;
            }
        }