Exemplo n.º 1
0
        public RecipeDto Get(int id)
        {
            var result = (RecipeDto)cache.GetValue(id.ToString());

            if (result == null)
            {
                IDataAccessObject dao = daoFactory.GetDao();
                result = dao.GetRecipe(id);
                if (result != null)
                {
                    cache.Add(id.ToString(), result, DateTimeOffset.UtcNow.AddMinutes(15));
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public async Task <GetBadgesResponse> Get()
        {
            var response = new GetBadgesResponse
            {
                Badges = await Task.FromResult(Badges.BadgeList),
            };

            if (MemoryCacher.GetValue(Cache.BadgeRanking) is IEnumerable <BadgeRanking> cacheBadgeRankings)
            {
                response.BadgeRankings = cacheBadgeRankings;
            }
            else
            {
                var badgeRankings = await _databaseRepository.GetBadgeRanking();

                if (badgeRankings != null)
                {
                    MemoryCacher.Add(Cache.BadgeRanking, badgeRankings, DateTimeOffset.UtcNow.AddDays(1));
                }

                response.BadgeRankings = badgeRankings;
            }

            return(response);
        }
Exemplo n.º 3
0
        public IHttpActionResult GetTiposIdentificacion()
        {
            try
            {
                var memoryCacher = new MemoryCacher <bool>();
                var registros    = memoryCacher.GetValue <List <TipoIdentificacion> >("TiposIdentificacion", false);

                if (registros == null)
                {
                    registros = new List <TipoIdentificacion>()
                    {
                        new TipoIdentificacion()
                        {
                            idTipoIdentificacion = 1, tipoIdentificacionDescripcion = "Credencial de Elector"
                        },
                        new TipoIdentificacion()
                        {
                            idTipoIdentificacion = 2, tipoIdentificacionDescripcion = "Licencia"
                        },
                        new TipoIdentificacion()
                        {
                            idTipoIdentificacion = 3, tipoIdentificacionDescripcion = "Pasaporte Mexicano"
                        }
                    };
                    memoryCacher.Add("TiposIdentificacion", registros, false);
                }

                return(Ok(registros));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 4
0
        public void CreateCacheTokenSid(string guidSID)
        {
            DateTimeOffset limitHourTime = DateTimeOffset.Now.AddHours(this.tokenSIDHourLimit);

            guidSID = guidSID.Replace("-", "");
            cacher.Add(guidSID, guidSID, limitHourTime);
        }
Exemplo n.º 5
0
 public List <ProductStatistics> GetDayProdStatistics()//[FromBody] ProductStatistics _ps
 {
     try
     {
         List <ProductStatistics> ListPS;
         // ---
         ListPS = (List <ProductStatistics>)MemoryCacher.GetValue("DayProductStatistics");
         if (ListPS == null)
         {
             //LogManager.SetCommonLog("api/Statistics/GetDayProdStatistics_request catch Day is null");
             ListPS = StatisticsActs.GetLiveProdStatistics("D");
             if (ListPS == null)
             {
                 return(null); // ListPS = StatisticsActs.GetYearProdStatistics("D");
             }
             MemoryCacher.Add("DayProductStatistics", ListPS, DateTimeOffset.Now.AddMinutes(1));
         }
         //else
         //LogManager.SetCommonLog("api/Statistics/GetDayProdStatistics_request catch DayNot Null,isCount ="+ ListPS.ToString());
         // ---
         return(ListPS);
     }
     catch (Exception e)
     {
         LogManager.SetCommonLog("api/Statistics/GetDayProdStatistics_request Error=" + e.Message.ToString());
         return(null);
     }
 }
Exemplo n.º 6
0
 public List <ProductStatistics> GetMonthProdStatistics()//[FromBody] ProductStatistics _ps
 {
     try
     {
         List <ProductStatistics> ListPS;
         // ---
         ListPS = (List <ProductStatistics>)MemoryCacher.GetValue("MonthProductStatistics");
         if (ListPS == null)
         {
             ListPS = ldbFetch.GetLiveLdbProductStatistics("M");
             if (ListPS == null)
             {
                 return(null); //ListPS = StatisticsActs.GetYearProdStatistics("M");
             }
             MemoryCacher.Add("MonthProductStatistics", ListPS, DateTimeOffset.Now.AddMinutes(1));
         }
         // ---
         return(ListPS);
     }
     catch (Exception ex)
     {
         DBHelper.LogFile(ex);
         return(null);
     }
 }
Exemplo n.º 7
0
        public IHttpActionResult GetDirect(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("id is empty"));
            }

            var cacheKey   = $"{CACHE_KEY}_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var result = ProjectService.GetDirect(CurrentUser, id);
                if (result == null)
                {
                    return(NotFound());
                }

                MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var result = (ProjectDTO)cacheEntry;
                return(new CachedResult <ProjectDTO>(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 8
0
 public List <CompanyProductStatistics> GetCompanyArchiveO30DProdStatistics()//[FromBody] ProductStatistics _ps
 {
     try
     {
         List <CompanyProductStatistics> ListPS;
         // ---
         ListPS = (List <CompanyProductStatistics>)MemoryCacher.GetValue("CompanyArchiveO30DProductStatistics");
         if (ListPS == null)
         {
             ListPS = ldbFetch.GetArchiveLdbCompanyProductStatistics(30);
             if (ListPS == null)
             {
                 return(null); // ListPS = StatisticsActs.GetArchiveProdStatistics("");
             }
             MemoryCacher.Add("CompanyArchiveO30DProductStatistics", ListPS, DateTimeOffset.Now.AddMinutes(1));
         }
         // ---
         return(ListPS);
     }
     catch (Exception ex)
     {
         DBHelper.LogFile(ex);
         return(null);
     }
 }
Exemplo n.º 9
0
        public IHttpActionResult GetUserTeams(Guid userId)
        {
            if (userId == Guid.Empty)
            {
                return(BadRequest("user id is empty"));
            }

            var orgUser = UnitOfWork.OrgUsersRepository.Find(userId);

            if (orgUser == null)
            {
                return(NotFound());
            }

            var cacheKey   = $"{CACHE_KEY}_USER_{userId}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var userTeams = TeamService.GetUserTeams(userId);
                MemoryCacher.Add(cacheKey, userTeams, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(userTeams));
            }
            else
            {
                var result = (List <OrganisationTeamDTO>)cacheEntry;
                return(new CachedResult <List <OrganisationTeamDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 10
0
        public void Excluir(Funcionario funcionario)
        {
            var listFunc = _context.Funcionarios;

            listFunc.Remove(funcionario);
            MemoryCacher.Add("ProtechContext", listFunc);
        }
Exemplo n.º 11
0
        // DELETE api/persona/
        /// <summary>
        /// Servicio para borrar a una persona
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IHttpActionResult DeleteBorraPersona(string id)
        {
            try
            {
                var  memoryCacher = new MemoryCacher <bool>();
                var  personas     = memoryCacher.GetValue <List <Persona> >("Personas", false);
                bool _success     = false;

                if (personas == null)
                {
                    personas = (new Personas()).listaPersonas;
                }

                var registro = personas.Where(p => p._id == id).FirstOrDefault();

                if (registro != null)
                {
                    personas.Remove(registro);
                    _success = true;
                }

                memoryCacher.Add("Personas", personas, false);

                return(Ok(new { success = _success }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 12
0
        public IHttpActionResult GetSurvey(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("id is empty"));
            }

            if (CurrentUser is OrgUser)
            {
                var cacheKey   = $"{CACHE_KEY}_{id}_{CurrentOrgUser.Id}";
                var cacheEntry = MemoryCacher.GetValue(cacheKey);

                if (cacheEntry == null)
                {
                    var survey = UnitOfWork.FilledFormsRepository.Find(id);
                    if (survey == null)
                    {
                        return(NotFound());
                    }

                    if (!HasAccessToViewRecords(survey.FormTemplateId, survey.ProjectId))
                    {
                        return(Unauthorized());
                    }

                    var result = Mapper.Map <FilledFormDTO>(survey);
                    MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                    return(Ok(result));
                }
                else
                {
                    var result = (FilledFormDTO)cacheEntry;
                    return(new CachedResult <FilledFormDTO>(result, TimeSpan.FromMinutes(1), this));
                }
            }

            // else if current user is SuperUser
            var _cacheKey   = $"{CACHE_KEY}_{ADMIN_KEY}_{id}";
            var _cacheEntry = MemoryCacher.GetValue(_cacheKey);

            if (_cacheEntry == null)
            {
                var survey = UnitOfWork.FilledFormsRepository.Find(id);
                if (survey == null)
                {
                    return(NotFound());
                }

                var result = Mapper.Map <FilledFormDTO>(survey);
                MemoryCacher.Add(_cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var response = (FilledFormDTO)_cacheEntry;
                return(new CachedResult <FilledFormDTO>(response, TimeSpan.FromMinutes(1), this));
            }
        }
        public IHttpActionResult Get(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("id is empty"));
            }

            var cacheKey   = $"{CACHE_KEY}_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var connectionRequest = UnitOfWork.OrgConnectionRequestsRepository.Find(id);
                if (connectionRequest == null)
                {
                    return(NotFound());
                }

                var result = Mapper.Map <OrgConnectionRequestDTO>(connectionRequest);
                MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var result = (OrgConnectionRequestDTO)cacheEntry;
                return(new CachedResult <OrgConnectionRequestDTO>(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 14
0
        // POST api/persona/
        /// <summary>
        /// Servicio para agregar a una nueva persona
        /// </summary>
        /// <param name="persona"></param>
        /// <returns></returns>
        public IHttpActionResult PostAgregaPersona([FromBody] Persona persona)
        {
            try
            {
                var memoryCacher = new MemoryCacher <bool>();
                var personas     = memoryCacher.GetValue <List <Persona> >("Personas", false);

                if (personas == null)
                {
                    personas = (new Personas()).listaPersonas;
                }

                persona._id = Guid.NewGuid().ToString();

                personas.Add(persona);

                memoryCacher.Add("Personas", personas, false);

                return(Ok(new { _id = persona._id }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 15
0
        public IHttpActionResult GetAssignableUsers(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(Ok(Mapper.Map <OrgUserDTO>(new OrgUser())));
            }

            var team = UnitOfWork.OrganisationTeamsRepository.Find(id);

            if (team == null)
            {
                return(NotFound());
            }

            var cacheKey   = $"{CACHE_KEY}_ASSIGNABLE_USERS_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var assignableUsers = TeamService.GetAssignableUsers(team);
                MemoryCacher.Add(cacheKey, assignableUsers, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(assignableUsers));
            }
            else
            {
                var result = (List <OrgUserDTO>)cacheEntry;
                return(new CachedResult <List <OrgUserDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 16
0
        public IHttpActionResult GetProjects(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("id is empty"));
            }

            var team = UnitOfWork.OrganisationTeamsRepository.Find(id);

            if (team == null)
            {
                return(NotFound());
            }

            var cacheKey   = $"{CACHE_KEY}_PROJECTS_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var projects = TeamService.GetTeamProjects(team);
                MemoryCacher.Add(cacheKey, projects, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(projects));
            }
            else
            {
                var result = (List <ProjectDTO>)cacheEntry;
                return(new CachedResult <List <ProjectDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 17
0
        public IHttpActionResult Get(Guid formTemplateId)
        {
            if (formTemplateId == Guid.Empty)
            {
                return(BadRequest("form template id is empty"));
            }

            var cacheKey   = $"{CACHE_KEY}_{formTemplateId}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var surveyProvider = new SurveyProvider(CurrentOrgUser, UnitOfWork, onlyPublished: false);
                var metricGroups   = surveyProvider.GetFormTemplate(formTemplateId)
                                     .MetricGroups
                                     .Select(m => Mapper.Map <MetricGroupDTO>(m))
                                     .ToList();

                MemoryCacher.Add(cacheKey, metricGroups, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(metricGroups));
            }
            else
            {
                var result = (List <MetricGroupDTO>)cacheEntry;
                return(new CachedResult <List <MetricGroupDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 18
0
        public NowDateTime GetNow()
        //public DateTime GetNow()
        {
            NowDateTime ndt = new NowDateTime();

            ndt.Now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            PersianCalendar pc  = new PersianCalendar();
            DateTime        dtN = DateTime.Now;

            ndt.NowDateFa     = pc.GetYear(dtN).ToString() + "/" + pc.GetMonth(dtN).ToString().PadLeft(2, '0') + "/" + pc.GetDayOfMonth(dtN).ToString().PadLeft(2, '0');
            ndt.NowTime       = dtN.ToString("HH:mm:ss");
            ndt.NowDateTimeFa = ndt.NowDateFa + " " + ndt.NowTime;
            // ---
            MessageCount oldmsc = (MessageCount)MemoryCacher.GetValue("MessageCount");

            if ((oldmsc == null) || (oldmsc.InsDateFa != ndt.NowDateFa))
            {
                MessageCount msc = MessageUtility.GetSmsCountByDate(ndt.NowDateFa);
                ndt.MsgCount = msc;
                MemoryCacher.Add("MessageCount", msc, DateTimeOffset.Now.AddSeconds(5));
            }
            else
            {
                ndt.MsgCount = oldmsc;
            }
            // ---
            return(ndt);
        }
Exemplo n.º 19
0
        public IHttpActionResult GetSedes()
        {
            try
            {
                var memoryCacher = new MemoryCacher <bool>();
                var registros    = memoryCacher.GetValue <List <Sede> >("Sedes", false);

                if (registros == null)
                {
                    registros = new List <Sede>()
                    {
                        new Sede()
                        {
                            idSede = 1, sedeDescripcion = "Mexicali, Baja California"
                        },
                        new Sede()
                        {
                            idSede = 2, sedeDescripcion = "Guadalajara, Jalisco"
                        },
                        new Sede()
                        {
                            idSede = 3, sedeDescripcion = "Mexico, Distrito Federal"
                        }
                    };
                    memoryCacher.Add("Sedes", registros, false);
                }

                return(Ok(registros));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 20
0
        public IHttpActionResult Get(Guid formTemplateId, Guid id)
        {
            if (formTemplateId == Guid.Empty)
                return BadRequest("form template id is empty");

            if (id == Guid.Empty)
                return BadRequest("metric id is empty");

            var cacheKey = $"{CACHE_KEY}_{formTemplateId}_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var metric = GetMetric(formTemplateId, id);
                if (metric == null)
                    return NotFound();

                var result = Mapper.Map(metric, metric.GetType(), typeof(MetricDTO));
                MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return Ok(result);
            }
            else
            {
                return new CachedResult<object>(cacheEntry, TimeSpan.FromMinutes(1), this);
            }
        }
Exemplo n.º 21
0
        public IHttpActionResult GetList()
        {
            //var isOrgAdmin = await ServiceContext.UserManager.IsInRoleAsync(CurrentOrgUser.Id, "Organisation administrator");
            if (CurrentOrgUser.AccountType != AccountType.MobileAccount)
            {
                return(BadRequest("organisations list is only available to mobile users"));
            }

            var cacheKey   = $"{CACHE_KEY}_LIST";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var organisations = Organisations
                                    .AllAsNoTracking
                                    .Where(x => !x.Name.Equals("OnRecord"))
                                    .OrderBy(x => x.Name)
                                    .ToList()
                                    .Select(x => Mapper.Map <OrganisationDTO>(x))
                                    .ToList();

                MemoryCacher.Add(cacheKey, organisations, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(organisations));
            }
            else
            {
                var result = (List <OrganisationDTO>)cacheEntry;
                return(new CachedResult <List <OrganisationDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 22
0
        // GET api/orgRequests
        public IHttpActionResult Get()
        {
            var cacheEntry = MemoryCacher.GetValue(CACHE_KEY);

            if (cacheEntry == null)
            {
                var orgRequests = UnitOfWork.OrgRequestsRepository
                                  .AllAsNoTracking
                                  .OrderByDescending(x => x.DateCreated);

                var result = orgRequests
                             .ToList()
                             .Select(x => Mapper.Map <OrgRequestDTO>(x))
                             .ToList();

                MemoryCacher.Add(CACHE_KEY, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var result = (List <OrgRequestDTO>)cacheEntry;
                return(new CachedResult <List <OrgRequestDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// Método de paso para obtener el token API SUPER
        /// </summary>
        /// <returns></returns>
        public static string GetToken()
        {
            var token = string.Empty;

            //verifica existe token en cache
            token = (string)MemoryCacher.GetValue("token");

            if (token == null)
            {
                LoginSuperRequest credenciales = new LoginSuperRequest
                {
                    Api_key        = ConfigurationManager.AppSettings["api_key_super"],
                    ChileAtiendeId = ConfigurationManager.AppSettings["chile_atiende_id"]
                };

                //Get the token
                var jObject = RequestToken(credenciales);
                if (jObject != null)
                {
                    token = "Token " + jObject.GetValue("token").ToString();
                    var tokenExpiracion = jObject.GetValue("expiration_date").ToString();

                    //almacena token en cache
                    MemoryCacher.Add("token", token, DateTimeOffset.Parse(tokenExpiracion));
                }
                else
                {
                    token = string.Empty;
                }
            }

            return(token);
        }
Exemplo n.º 24
0
        public IHttpActionResult Get()
        {
            var cacheEntry = MemoryCacher.GetValue(CACHE_KEY);

            if (cacheEntry == null)
            {
                var types = new List <OrgUserType> {
                    OrgUserTypesRepository.Administrator,
                    OrgUserTypesRepository.TeamUser
                };

                var result = types
                             .Select(u => Mapper.Map <OrgUserTypeDTO>(u))
                             .ToList();

                MemoryCacher.Add(CACHE_KEY, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var result = (List <OrgUserTypeDTO>)cacheEntry;
                return(new CachedResult <List <OrgUserTypeDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 25
0
        private async Task <IEnumerable <User> > ValidateCache()
        {
            IEnumerable <User> users = cache.Get(nameof(User));

            if (users == null)
            {
                try
                {
                    users = await dataService.GetUsers();

                    cache.Add(nameof(User), users);
                }
                catch (Exception)
                {
                    users = new List <User>
                    {
                        new User {
                            Id = 0, FirstName = "No", LastName = "Data"
                        }
                    };
                }
            }

            return(users);
        }
Exemplo n.º 26
0
        public IHttpActionResult Get(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(Ok(Mapper.Map <OrganisationTeamDTO>(new OrganisationTeam())));
            }

            var cacheKey   = $"{CACHE_KEY}_{id}";
            var cacheEntry = MemoryCacher.GetValue(cacheKey);

            if (cacheEntry == null)
            {
                var team = UnitOfWork.OrganisationTeamsRepository.Find(id);
                if (team == null)
                {
                    return(NotFound());
                }

                var result = Mapper.Map <OrganisationTeamDTO>(team);
                MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(result));
            }
            else
            {
                var result = (OrganisationTeamDTO)cacheEntry;
                return(new CachedResult <OrganisationTeamDTO>(result, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 27
0
        public async Task <IHttpActionResult> Get(Guid id)
        {
            // not necessary to validate empty IDs,
            // because the FormTemplateService method
            // returns an empty FormTemplateDTO.
            //if (id == Guid.Empty)
            //    return BadRequest("id is empty");

            if (CurrentUser is OrgUser)
            {
                var orgAdminRole = "Organisation administrator";
                var isOrgAdmin   = await ServiceContext.UserManager.IsInRoleAsync(CurrentOrgUser.Id, orgAdminRole);

                var cacheKey = isOrgAdmin ?
                               $"{CACHE_KEY}_{ORG_ADMIN_KEY}_{id}_{CurrentOrgUser.Id}" :
                               $"{CACHE_KEY}_{id}_{CurrentOrgUser.Id}";

                var cacheEntry = MemoryCacher.GetValue(cacheKey);
                if (cacheEntry == null)
                {
                    var template = FormTemplatesService.Get(id);
                    if (template == null)
                    {
                        return(NotFound());
                    }

                    MemoryCacher.Add(cacheKey, template, DateTimeOffset.UtcNow.AddMinutes(1));

                    return(Ok(template));
                }
                else
                {
                    var result = (FormTemplateDTO)cacheEntry;
                    return(new CachedResult <FormTemplateDTO>(result, TimeSpan.FromMinutes(1), this));
                }
            }

            // else if current user is SuperUser
            var _cacheKey   = $"{CACHE_KEY}_{ADMIN_KEY}_{id}";
            var _cacheEntry = MemoryCacher.GetValue(_cacheKey);

            if (_cacheEntry == null)
            {
                var template = FormTemplatesService.Get(id);
                if (template == null)
                {
                    return(NotFound());
                }

                MemoryCacher.Add(_cacheKey, template, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(template));
            }
            else
            {
                var response = (FormTemplateDTO)_cacheEntry;
                return(new CachedResult <FormTemplateDTO>(response, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 28
0
        public async Task <IHttpActionResult> Get(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(Ok(Mapper.Map <ProjectDTO>(new Project())));
            }

            if (CurrentUser is OrgUser)
            {
                var orgAdminRole = "Organisation administrator";
                var isOrgAdmin   = await ServiceContext.UserManager.IsInRoleAsync(CurrentOrgUser.Id, orgAdminRole);

                var cacheKey = isOrgAdmin ?
                               $"{CACHE_KEY}_{ORG_ADMIN_KEY}_{id}_{CurrentOrgUser.Id}" :
                               $"{CACHE_KEY}_{id}_{CurrentOrgUser.Id}";

                var cacheEntry = MemoryCacher.GetValue(cacheKey);
                if (cacheEntry == null)
                {
                    var project = ProjectService.Get(CurrentUser, id);
                    if (project == null)
                    {
                        return(NotFound());
                    }

                    MemoryCacher.Add(cacheKey, project, DateTimeOffset.UtcNow.AddMinutes(1));

                    return(Ok(project));
                }
                else
                {
                    var result = (ProjectDTO)cacheEntry;
                    return(new CachedResult <ProjectDTO>(result, TimeSpan.FromMinutes(1), this));
                }
            }

            // else if current user is SuperUser
            var _cacheKey   = $"{CACHE_KEY}_{ADMIN_KEY}_{id}";
            var _cacheEntry = MemoryCacher.GetValue(_cacheKey);

            if (_cacheEntry == null)
            {
                var project = ProjectService.Get(CurrentUser, id);
                if (project == null)
                {
                    return(NotFound());
                }

                MemoryCacher.Add(_cacheKey, project, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(project));
            }
            else
            {
                var response = (ProjectDTO)_cacheEntry;
                return(new CachedResult <ProjectDTO>(response, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 29
0
        // GET api/orgInvitations/{organisationId?}
        public IHttpActionResult Get(Guid?organisationId = null)
        {
            if (CurrentUser is OrgUser)
            {
                var cacheKey   = $"{CACHE_KEY}_{CurrentOrgUser.Organisation.Id}";
                var cacheEntry = MemoryCacher.GetValue(cacheKey);

                if (cacheEntry == null)
                {
                    var invitations = UnitOfWork.OrgInvitationsRepository
                                      .AllAsNoTracking
                                      .Where(x => x.OrganisationId == CurrentOrgUser.Organisation.Id)
                                      .ToList();

                    var result = invitations
                                 .Select(i => Mapper.Map <OrgInvitationDTO>(i))
                                 .ToList();

                    MemoryCacher.Add(cacheKey, result, DateTimeOffset.UtcNow.AddMinutes(1));

                    return(Ok(result));
                }
                else
                {
                    var result = (List <OrgInvitationDTO>)cacheEntry;
                    return(new CachedResult <List <OrgInvitationDTO> >(result, TimeSpan.FromMinutes(1), this));
                }
            }

            // else if current user is SuperUser or PlatformUser
            var _cacheKey   = organisationId.HasValue ? $"{CACHE_KEY}_{organisationId.Value}" : CACHE_KEY;
            var _cacheEntry = MemoryCacher.GetValue(_cacheKey);

            if (_cacheEntry == null)
            {
                var _invitations = UnitOfWork.OrgInvitationsRepository.AllAsNoTracking;

                if (organisationId.HasValue)
                {
                    _invitations = _invitations.Where(x => x.OrganisationId == organisationId.Value);
                }

                var retVal = _invitations
                             .ToList()
                             .Select(i => Mapper.Map <OrgInvitationDTO>(i))
                             .ToList();

                MemoryCacher.Add(_cacheKey, retVal, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(retVal));
            }
            else
            {
                var retVal = (List <OrgInvitationDTO>)_cacheEntry;
                return(new CachedResult <List <OrgInvitationDTO> >(retVal, TimeSpan.FromMinutes(1), this));
            }
        }
Exemplo n.º 30
0
        public IActionResult RefreshDashBoard(ChartsViewModel chartsVm)
        {
            var highCharts = getCharts(chartsVm.StartDate, chartsVm.EndDate);

            MemoryCacher.Add(CacheKey.START_DATE.GetDescription(), chartsVm.StartDate, DateTime.Now.AddDays(1));
            MemoryCacher.Add(CacheKey.END_DATE.GetDescription(), chartsVm.EndDate, DateTime.Now.AddDays(1));
            return(View("DashBoard", new ChartsViewModel {
                Charts = highCharts, StartDate = chartsVm.StartDate, EndDate = chartsVm.EndDate
            }));
        }
Exemplo n.º 31
0
        public override void Run()
        {
            MemoryCacher<int, string> d = new MemoryCacher<int, string>(ARRAY_SIZE);
            __sw.Reset();
            __sw.Start();

            Parallel.For(0, 1000000, i => d.Add(i, "abc"));

            __sw.Stop();

            Console.WriteLine("Parallel Add MemoryCacher: {0}", __sw.ElapsedTicks);
        }
Exemplo n.º 32
0
        public override void Run()
        {
            MemoryCacher<int, string> d = new MemoryCacher<int, string>(ARRAY_SIZE);
            __sw.Reset();
            __sw.Start();

            for (int i = 0; i < 1000000; i++)
            {
                d.Add(i, "abc");
            }

            __sw.Stop();

            Console.WriteLine("Loop Add MemoryCacher: {0}", __sw.ElapsedTicks);
        }
Exemplo n.º 33
0
        public override void Run()
        {
            MemoryCacher<int, string> d = new MemoryCacher<int, string>(ARRAY_SIZE);

            for (int i = 0; i < 1000000; i++)
            {
                d.Add(i, "abc");
            }

            string s = string.Empty;

            __sw.Reset();
            __sw.Start();

            Parallel.For(0, 1000000, i => d[i] = s);

            __sw.Stop();

            Console.WriteLine("Parallel Update MemoryCacher: {0}", __sw.ElapsedTicks);
        }