예제 #1
0
        // GET: Participante/Cuidado
        public async Task <ActionResult> Index()
        {
            try
            {
                using (var scope = EkilibrateUI.Autofac.ContainerConfig.ProxyContainer.BeginLifetimeScope())
                {
                    BarcoSoftUtilidades.Seguridad.Usuario user = this.HttpContext.GetActualUser();

                    if (user == null)
                    {
                        return(Redirect("~/SitioAdministrativo/Home/Login?ReturnUrl=%2fParticipante%2fCuidado"));
                    }

                    var middleTier = scope.Resolve <Ekilibrate.Model.Services.Participante.IDataRetriever>();
                    var Result     = await middleTier.GetCuidados(user.IdPersona);

                    if (Result == null)
                    {
                        Result = new Ekilibrate.Model.Entity.Participante.clsCuidado();
                        Result.ActividadFisica = new Ekilibrate.Model.Entity.Participante.clsActividadFisica();
                        Result.Padecimiento    = new Ekilibrate.Model.Entity.Participante.clsPadecimiento();
                    }

                    ViewBag.TipoEjercicio = await middleTier.GetTipoEjercicio();


                    return(View(Result));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public async Task <ActionResult> Index(Ekilibrate.Model.Entity.Participante.clsCuidado model, string accion)
        {
            using (var scope = EkilibrateUI.Autofac.ContainerConfig.ProxyContainer.BeginLifetimeScope())
            {
                if (model != null && ModelState.IsValid)
                {
                    var middleTierDr = scope.Resolve <Ekilibrate.Model.Services.Participante.IDataRetriever>();
                    try
                    {
                        BarcoSoftUtilidades.Seguridad.Usuario user = this.HttpContext.GetActualUser();
                        var middleTier = scope.Resolve <Ekilibrate.Model.Services.Participante.IDataInjector>();

                        int participante = model.ActividadFisica.ID_PARTICIPANTE;
                        if (participante == 0)
                        {
                            model.ActividadFisica.ID_PARTICIPANTE = user.IdPersona;
                            model.Padecimiento.ID_PARTICIPANTE    = user.IdPersona;
                            await middleTier.CreateCuidado(model);
                        }
                        else
                        {
                            await middleTier.UpdateCuidado(model);
                        }

                        if (accion == "Siguiente")
                        {
                            return(Redirect("../Participante/Emocion"));
                        }

                        model = await middleTierDr.GetCuidados(user.IdPersona);
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError(string.Empty, ex.Message);
                    }

                    ViewBag.TipoEjercicio = await middleTierDr.GetTipoEjercicio();
                }
            }

            return(View(model));
        }
예제 #3
0
        //CUIDADO
        async Task IDataInjector.CreateCuidado(Ekilibrate.Model.Entity.Participante.clsCuidado Data)
        {
            using (var scope = Ekilibrate.Data.Access.Common.ContainerConfig.ProxyContainer.BeginLifetimeScope("a"))
            {
                try
                {
                    var objController = new Ekilibrate.BL.Controller.Participante.clsCuidado(scope);
                    await objController.Create(Data);

                    var DBContext = scope.Resolve <DBTrnContext>();
                    DBContext.CommitTransaction();
                }
                catch (FaultException ex)
                {
                    throw ex;
                }
                catch (Exception)
                {
                    throw new FaultException("Error al registrar los datos de cuidado.");
                }
            }
        }