public VSeniarPresupuesto(int pIdCliente, int pPresupuestoId)
        {
            var cont  = new ControladorFachada();
            var contP = new ControladorPresupuesto();

            iCliente     = cont.BuscarCliente(pIdCliente);
            iPresupuesto = cont.BuscarPresupuesto(pPresupuestoId);
            seniaDto     = contP.PresupuestoTieneSenia(pPresupuestoId);
            InitializeComponent();


            this.nombreClienteLabel.Text     = iCliente.ToString();
            this.cantidadProductosLabel.Text = iPresupuesto.Lineas.Count.ToString();
            this.totalLabel.Text             = iPresupuesto.TotalVenta().ToString();
            if (seniaDto != null)
            {
                this.dateTimePicker1.Value  = seniaDto.ValidoHasta;
                this.fechaDeSeniaLabel.Text = seniaDto.Fecha.ToString();
                this.montoSeniaTextBox.Text = seniaDto.Monto.ToString();
                this.PorcentajeSeña.Text    = ((Convert.ToDouble(montoSeniaTextBox.Text) * 100) / Convert.ToDouble(this.totalLabel.Text)).ToString();
            }
            else
            {
                this.fechaDeSeniaLabel.Text = DateTime.Now.ToString();
            }
            montoSeniaTextBox.TextChanged += new System.EventHandler(this.montoSeniaTextBox_HasChanged);
        }
        private void Seniar_Click(object sender, EventArgs e)
        {
            if (this.montoSeniaTextBox.TextLength != 0)
            {
                var cont = new ControladorPresupuesto();
                if (seniaDto == null)
                {
                    var dto = new SeniaDTO();
                    dto.Fecha         = DateTime.Parse(this.fechaDeSeniaLabel.Text);
                    dto.IdPresupuesto = iPresupuesto.Id;
                    dto.Monto         = Convert.ToDouble(this.montoSeniaTextBox.Text);
                    dto.ValidoHasta   = dateTimePicker1.Value;
                    cont.SeniarPresupuesto(dto);
                }
                else
                {
                    seniaDto.Monto       = Convert.ToDouble(this.montoSeniaTextBox.Text);
                    seniaDto.Fecha       = DateTime.Parse(this.fechaDeSeniaLabel.Text);
                    seniaDto.ValidoHasta = dateTimePicker1.Value;
                    cont.ModificarSenia(seniaDto);
                }

                MessageBox.Show("Se seño correctamente el presupuesto");
                CerrarVentana();
            }
            else
            {
                MessageBox.Show("Debe cargar correctamente el monto");
            }
        }
Exemple #3
0
        /// <summary>
        /// Devuelve la senia si el prespuesto tiene una
        /// Si no tiene devuelve null
        /// </summary>
        /// <param name="pIdPrespupuesto"></param>
        /// <returns></returns>
        public SeniaDTO PresupuestoTieneSenia(int pIdPrespupuesto)
        {
            Senia senia = null;

            using (var repo = new Repositorio())
            {
                try
                {
                    senia = repo.Senias.Include("Presupuesto").Where(s => s.Presupuesto.Id == pIdPrespupuesto).First();
                }
                catch (InvalidOperationException e)
                {
                }
            }


            if (senia != null)
            {
                var dto = new SeniaDTO();
                dto.Id            = senia.Id;
                dto.IdPresupuesto = senia.Presupuesto.Id;
                dto.Monto         = senia.Monto;
                dto.Fecha         = senia.Fecha;
                dto.ValidoHasta   = senia.ValidoHasta;
                return(dto);
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
 /// <summary>
 /// Modifica una senia de la db
 /// </summary>
 /// <param name="senia"></param>
 public void ModificarSenia(SeniaDTO senia)
 {
     if (senia.Id == 0)
     {
         throw new Exception("El id de la senia es 0");
     }
     using (var repo = new Repositorio())
     {
         var seniadb = repo.Senias.Find(senia.Id);
         seniadb.Monto = senia.Monto;
         seniadb.Fecha = senia.Fecha;
     }
 }
Exemple #5
0
 /// <summary>
 /// Este metodo permite señar un presupuesto pasando como parámetro el id del presupuesto y el monto de la seña.
 /// </summary>
 /// <param name="pIdPresupuesto"></param>
 /// <param name="pMontoSenia"></param>
 public void SeniarPresupuesto(SeniaDTO pSenia)
 {
     using (var repo = new Repositorio())
     {
         var presupuesto = repo.Presupuestos.Find(pSenia.IdPresupuesto);
         if (presupuesto == null)
         {
             throw new Exception("Presupuesto" + pSenia.IdPresupuesto + " no existe");
         }
         var senia = new Senia(pSenia.Monto, presupuesto);
         senia.Fecha        = pSenia.Fecha;
         senia.ValidoHasta  = pSenia.ValidoHasta;
         presupuesto.Estado = EstadoPresupuesto.Seniado;
         repo.Senias.Add(senia);
     }
 }
Exemple #6
0
        public Senia DTOASenia(SeniaDTO pSenia)  // TESTEAR CUANDO HAYA UN PRESUPUESTO EN BASE DE DATOS
        {
            Senia       senia = new Senia();
            Repositorio repo  = new Repositorio();

            senia.Id    = pSenia.Id;
            senia.Fecha = pSenia.Fecha;
            senia.Monto = pSenia.Monto;
            Presupuesto presupuesto = repo.Presupuestos.Find(pSenia.IdPresupuesto);

            if (presupuesto == null)
            {
                throw new Exception("Id " + pSenia.IdPresupuesto + " no existe en Presupuestos");
            }

            senia.Presupuesto = presupuesto;
            return(senia);
        }