public void Grabar(PackXCategoriaCliente packxcatxcliente)
 {
     if (packxcatxcliente.Id == 0)
     {
         new PackXCategoriaClienteDA().Save(packxcatxcliente);
     }
     else
     {
         new PackXCategoriaClienteDA().Update(packxcatxcliente);
     }
 }
        public void Delete(PackXCategoriaCliente instance)
        {
            ISession hisession = null;
            try
            {
                hisession = NHibernateHelper.GetCurrentSession();
                hisession.BeginTransaction();
                hisession.Delete(instance);
                hisession.Transaction.Commit();
                hisession.Close();
            }
            catch (Exception ex)
            {
                if (hisession != null)
                {
                    if (hisession.IsOpen)
                    {
                        hisession.Close();

                    }
                }

            }
        }
示例#3
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (validarCampos())
            {
                    bool ok = true;

                    for (int i = 0; i < dgvArticulos.Rows.Count; i++)
                    {
                        dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White;
                    }

                    total=0;

                    for (int i = 0; i < dgvArticulos.Rows.Count; i++)
                    {
                        string s1 = dgvArticulos.Rows[i].Cells["cantidad"].Value.ToString();//cantidad

                        int cantidad;

                        if (!String.IsNullOrEmpty(s1) && int.TryParse(s1, out cantidad) && cantidad>0)
                        {
                            listaArtxPack[i].CantidadPack = cantidad;
                        }
                        else
                        {
                            ok = false;
                            dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown;
                        }
                    }

                    if (ok)
                    {
                        pack.Nombre = this.txtNombre.Text;
                        pack.PrecioPack = float.Parse(this.txtPrecioPack.Text);
                        pack.FechaInicio = this.dtpFechaInicio.Value.Date;
                        pack.FechaFin = this.dtpFechaFin.Value.Date;
                        pack.CantidadPacks = (int)this.upDwNumPacks.Value;
                        pack.CantidadUtilizada = int.Parse(this.lblCantidadUtilizada.Text);
                        pack.CodigoPack = "0";

                        if (pack.FechaInicio.Value <= DateTime.Today && pack.FechaFin.Value >= DateTime.Today) pack.Estado = "Activo";
                        else pack.Estado = "Inactivo";

                        PackBL objpackBL = new PackBL();

                        objpackBL.Grabar(pack);

                        if (pack.CantidadUtilizada == 0)
                        {
                            //graba articulos participantes

                            foreach (ArticuloXPack artxpack in listaArtEliminados)
                                objArtxPackBL.Eliminar(artxpack);

                            for (int i = 0; i < dgvArticulos.Rows.Count; i++)// listaArtxPack.Count; i++)
                            {
                                listaArtxPack[i].Pack = pack;
                                listaArtxPack[i].CantidadPack = int.Parse(dgvArticulos.Rows[i].Cells["cantidad"].Value.ToString());
                                objArtxPackBL.Grabar(listaArtxPack[i]);
                            }

                            //graba categoria de clientes participantes

                            if (listaPackxCat != null)
                                foreach (PackXCategoriaCliente packxcat in listaPackxCat)
                                    objcatCliente.Eliminar(packxcat);

                            foreach (int index in chkClientes.CheckedIndices)
                            {
                                PackXCategoriaCliente packxCatxCliente = new PackXCategoriaCliente();
                                packxCatxCliente.Pack = pack;
                                packxCatxCliente.CategoriaCliente = categorias[index];
                                objcatCliente.Grabar(packxCatxCliente);
                            }
                        }

                        Utils.Utils.OK(Utils.Utils.REGISTRO_OK);
                        this.Close();
                    }

                    else
                    {
                        Utils.Utils.Error(null, "Las cantidades sombreadas no son válidas");
                    }
                }
        }
 public void Eliminar(PackXCategoriaCliente categoria)
 {
     new PackXCategoriaClienteDA().Delete(categoria);
 }