Exemple #1
0
        private async void btnAgregar_Click_1(object sender, EventArgs e)
        {
            try
            {
                int resultado = 0;
                this.CleanErrors(errorProvider1, typeof(PromocionViewModel));
                var validationResults = Model.Validate();
                validationResults.ToString();
                if (validationResults.IsValid)
                {
                    if (Model.IdTipoPromocion == 1)
                    {
                        PromocionDescuento promocionDescuento = await Model.GuardarPromocionDescuento(CurrentSession.IdCuentaUsuario);

                        resultado = promocionDescuento.Promocion.Resultado;
                    }
                    else if (Model.IdTipoPromocion == 2)
                    {
                        PromocionNxN promocionNxN = await Model.GuardarPromocionNxN(CurrentSession.IdCuentaUsuario);

                        resultado = promocionNxN.Promocion.Resultado;
                    }
                    else if (Model.IdTipoPromocion == 3)
                    {
                        PromocionMxN promocionMxN = await Model.GuardarPromocionMxN(CurrentSession.IdCuentaUsuario);

                        resultado = promocionMxN.Promocion.Resultado;
                    }

                    if (resultado == 1)
                    {
                        CIDMessageBox.ShowAlert(Messages.SystemName, Messages.SuccessMessage, TypeMessage.correcto);
                        this.Close();
                        Resultado = 1;
                    }
                    else
                    {
                        CIDMessageBox.ShowAlert(Messages.ErrorMessage, "Desconocido", TypeMessage.error);
                    }
                }
                else
                {
                    this.ShowErrors(errorProvider1, typeof(PromocionViewModel), validationResults);
                }
            }
            catch (Exception ex)
            {
                ErrorLogHelper.AddExcFileTxt(ex, "FrmPromocionDias ~ btnAgregar_Click_1(object sender, EventArgs e)");
                CIDMessageBox.ShowAlert(Messages.SystemName, Messages.ErrorMessage, TypeMessage.error);
            }
        }
        public async Task GetAsync()
        {
            try
            {
                PromocionDescuento promocion = await Repository.GetDetalleAsync(this.IdPromocion, this.IdTipoPromocion);

                EsMonto   = promocion.EsMonto;
                Descuento = promocion.Descuento;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <PromocionDescuento> AddPromocionDescuento(PromocionDescuento element, Guid idUsuario, int Opcion)
        {
            try
            {
                using (IDbConnection conexion = new SqlConnection(WebConnectionString))
                {
                    conexion.Open();
                    var dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("@Opcion", Opcion);
                    dynamicParameters.Add("@IdPromocion", element.Promocion.IdPromocion);
                    dynamicParameters.Add("@IdTipoPromocion", element.Promocion.TipoPromocion.IdTipoPromocion);
                    dynamicParameters.Add("@IdGenerico", element.Promocion.IdGenerico);
                    dynamicParameters.Add("@EsProducto", element.Promocion.EsProducto);
                    dynamicParameters.Add("@Nombre", element.Promocion.NombrePromocion);
                    dynamicParameters.Add("@EsMonto", element.EsMonto);
                    dynamicParameters.Add("@Descuento", element.Descuento);
                    dynamicParameters.Add("@EsPeriodo", element.PromocionDias.EsPeriodo);
                    dynamicParameters.Add("@FechaInicio", element.PromocionDias.FechaInicio);
                    dynamicParameters.Add("@FechaFinal", element.PromocionDias.FechaFinal);
                    dynamicParameters.Add("@Lunes", element.PromocionDias.Lunes);
                    dynamicParameters.Add("@Martes", element.PromocionDias.Martes);
                    dynamicParameters.Add("@Miercoles", element.PromocionDias.Miercoles);
                    dynamicParameters.Add("@Jueves", element.PromocionDias.Jueves);
                    dynamicParameters.Add("@Viernes", element.PromocionDias.Viernes);
                    dynamicParameters.Add("@Sabado", element.PromocionDias.Sabado);
                    dynamicParameters.Add("@Domingo", element.PromocionDias.Domingo);
                    dynamicParameters.Add("@Limite", element.PromocionDias.Limite);
                    dynamicParameters.Add("@Usuario", idUsuario);
                    var result = await conexion.ExecuteScalarAsync <int>("[Promocion].[SPCID_A_PromocionDescuento]", param : dynamicParameters, commandType : CommandType.StoredProcedure);

                    element.Promocion.Resultado = result;
                    return(element);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public async Task <PromocionDescuento> GuardarPromocionDescuento(Guid IdUsuario)
 {
     try
     {
         PromocionDescuento model = new PromocionDescuento();
         model.Promocion.IdPromocion = this.IdPromocion;
         model.Promocion.TipoPromocion.IdTipoPromocion = this.IdTipoPromocion;
         model.Promocion.IdGenerico      = this.IdGenerico;
         model.Promocion.EsProducto      = this.EsProducto;
         model.Promocion.NombrePromocion = this.NombrePromocion;
         model.EsMonto   = this.EsMonto;
         model.Descuento = this.Descuento;
         model.PromocionDias.EsPeriodo   = this.EsPeriodo;
         model.PromocionDias.FechaFinal  = this.FechaInicio;
         model.PromocionDias.FechaInicio = this.FechaInicio;
         model.PromocionDias.Lunes       = this.Lunes;
         model.PromocionDias.Martes      = this.Martes;
         model.PromocionDias.Miercoles   = this.Miercoles;
         model.PromocionDias.Jueves      = this.Jueves;
         model.PromocionDias.Viernes     = this.Viernes;
         model.PromocionDias.Sabado      = this.Sabado;
         model.PromocionDias.Domingo     = this.Domingo;
         model.PromocionDias.Limite      = this.Limite;
         if (State == EntityState.Create)
         {
             return(await Repository.AddPromocionDescuento(model, IdUsuario, 1));
         }
         else if (State == EntityState.Update)
         {
             return(await Repository.AddPromocionDescuento(model, IdUsuario, 2));
         }
         return(model);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }