public int Guardar()
        {
            //header
            ProgramaVta header = new ProgramaVta();
            header.nombre = "Uno";
            header.descripcion = "desc";
            header.fch_alta = DateTime.Now;
            header.fch_caducidad = DateTime.Now.AddDays(2);

            ProgramaVtaDetalleCuota details = new ProgramaVtaDetalleCuota();
            details.id_Gfx = 1;
            details.id_clascorp = 1;
            details.id_TipoPeriodo = 1;
            details.id_Periodo = 2;
            details.Tipo_cuota = "tipo";
            details.cuota = 110;
            details.id_PlazoComercial = 1;

            header.ProgramaVtaDetalleCuota.Add(details);
            this._repProgVta.Add(header);
            try
            {
                this._repProgVta.SaveAllChanges();

                return 1;
            }
            catch
            {
                return 0;
            }
        }
 /// <summary>
 /// Obtener un registro de programa de venta nuevo, o existente para ser mostrado en vista
 /// </summary>
 /// <param name="id_ProgramaVta"></param>
 /// <returns></returns>
 public ViewResult panelProgramaVtaHeader(int id_ProgramaVta = 0)
 {
     ProgramaVta vta;
     if (id_ProgramaVta > 0)
         vta = _repProgVta.GetById(id_ProgramaVta);
     else
         vta = new ProgramaVta();
     //ViewData["model"] = vta;
     vta.nombre = "adan";
     string data = this.Json(vta, JsonRequestBehavior.AllowGet).Data.ToString();
     ViewData["model"] = data;
     return this.View(vta);
 }
        /// <summary>
        /// Crea o actualiza un registro header de programa de ventas
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public JsonResult SaveStockingProgram(ProgramaVta info)
        {
            //string error = "{success:false,error:'El origen y el destino no puede ser el mismo,corrija la informacion'}";
            // RenderText("{success:true, id_traslado:" + restraslado.ToString() +
            //1.- Validar
            if (String.IsNullOrEmpty(info.nombre))
            {
                return
                    this.Json("{success:false,error:'Incluir nombre'}", JsonRequestBehavior.AllowGet);
            }

            if (info.fch_caducidad == null)
            {
                return
                   this.Json("{success:false,error:'Debe seleccionar uan fecha de vigencia'}", JsonRequestBehavior.AllowGet);
            }

            string usuarioActual = this.CurrentUser;
            if (info.idProgramaVta == 0)
            {
                //insert
                info.estatus = "0"; //tentativo para nuevos registros
                info.cd_usuarioalta = usuarioActual;
                info.fch_alta = DateTime.Now;
                this._repProgVta.Add(info);
            }
            else
            {
                //update
                info.cd_usuariomodif = usuarioActual;
                info.fch_modif = DateTime.Now;
                this._repProgVta.Update(info);
            }
            this._db.SaveAllChanges();
            return
                  this.Json("{success:true,id:" + info.idProgramaVta.ToString() + "}", JsonRequestBehavior.AllowGet);
        }
        public void SaveProgramaVentas()
        {
            for (int i = 1; i <= 1; i++)
            {
                ProgramaVta vta = new ProgramaVta
                {
                    //idProgramaVta = 1,
                    nombre = "Programa " + i.ToString(),
                    descripcion  = "programa " + i.ToString(),
                   fch_alta = DateTime.Now,
                   fch_caducidad = DateTime.Now.AddDays(30)
                };
                _rep.Add(vta);
            }
            var succes = false;
            try
            {
                _db.SaveAllChanges();
                succes = true;
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        //Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }

            }

            Assert.AreEqual(true, succes, "Proceso debe guardar informacion");
        }