示例#1
0
        public async Task <BaseReponse <ModelListResult <AppRoleViewModel> > > GetAllPagingAsync(AppRoleRequest request)
        {
            var query = (await _roleManager.Roles.ToListAsync()).ToList();

            if (!string.IsNullOrEmpty(request.SearchText))
            {
                query = query.Where(x => x.Name.Contains(request.SearchText) ||
                                    x.Description.Contains(request.SearchText)).ToList();
            }

            int totalRow = query.Count;

            query = (query.Skip(request.PageIndex * request.PageSize)
                     .Take(request.PageSize)).ToList();

            var items = new AppRoleViewModel().Map(query).ToList();

            var result = new BaseReponse <ModelListResult <AppRoleViewModel> >
            {
                Data = new ModelListResult <AppRoleViewModel>()
                {
                    Items     = items,
                    Message   = Message.Success,
                    RowCount  = totalRow,
                    PageSize  = request.PageSize,
                    PageIndex = request.PageIndex
                },
                Message = Message.Success,
                Status  = (int)QueryStatus.Success
            };

            return(result);
        }
        public BaseReponse UpMusic([FromBody] List <Music> musics)
        {
            BaseReponse baseReponse = new BaseReponse
            {
                Code = MusicApp.UpMusic(musics)
            };

            return(baseReponse);
        }
        public BaseReponse AddUptMusic([FromBody] Music music)
        {
            BaseReponse baseReponse = new BaseReponse
            {
                Code = MusicApp.AddUptMusic(music)
            };

            return(baseReponse);
        }
        public BaseReponse <string> GetCountryWithMostUniqueHolidays(long year)
        {
            try
            {
                var publicHolidaysByCountry = new Dictionary <string, List <PublicHoliday> >();

                var holidays = _helper.GetAllHolidays(year);

                foreach (var holiday in holidays)
                {
                    if (!publicHolidaysByCountry.ContainsKey(holiday.CountryCode))
                    {
                        publicHolidaysByCountry[holiday.CountryCode] = new List <PublicHoliday>();
                    }

                    publicHolidaysByCountry[holiday.CountryCode].Add(holiday);
                }

                var uniqueHolidaysByCountry = new Dictionary <string, List <PublicHoliday> >();

                foreach (KeyValuePair <string, List <PublicHoliday> > element in publicHolidaysByCountry)
                {
                    uniqueHolidaysByCountry[element.Key] = new List <PublicHoliday>();
                    uniqueHolidaysByCountry[element.Key].AddRange(element.Value.Where(x => !holidays.Any(y => y.Date == x.Date &&
                                                                                                         y.CountryCode != element.Key)).ToList());
                }

                uniqueHolidaysByCountry = uniqueHolidaysByCountry.OrderByDescending(x => x.Value.Count).ToDictionary(z => z.Key, y => y.Value);

                var countryWithMostUniqueHolidays = uniqueHolidaysByCountry.FirstOrDefault();

                var countryInfo = HolidaysApiWrapper <Country> .GetCountryInfo(countryWithMostUniqueHolidays.Key).Result;

                countryWithMostUniqueHolidays.Value.ForEach(x => x.Id = 0);

                var response = new BaseReponse <string>
                {
                    Response   = countryInfo.OfficialName,
                    StatusCode = HttpStatusCode.OK,
                    Exception  = null
                };

                return(response);
            }
            catch (Exception ex)
            {
                BaseReponse <string> response = new BaseReponse <string>
                {
                    Response   = null,
                    StatusCode = HttpStatusCode.BadRequest,
                    Exception  = ex
                };

                return(response);
            }
        }
示例#5
0
        public async Task <BaseReponse <ModelListResult <BusinessViewModel> > > GetAllPagingAsync(BusinessRequest request)
        {
            var query = await _repository.FindAll();

            if (!string.IsNullOrEmpty(request?.SearchText))
            {
                query = query.Where(x => x.Id.Contains(request.SearchText) ||
                                    x.Name.Contains(request.SearchText));
            }

            int totalRow = await query.CountAsync();

            if (request != null)
            {
                query = query.Skip((request.PageIndex - 1) * request.PageSize)
                        .Take(request.PageSize);
            }

            var items = new BusinessViewModel().Map(query).ToList();

            var businessName = items.Select(x => x.Id).ToList();

            List <string> data = new List <string>()
            {
                "HomeController",
                "BaseController",
                "LoginController",
                "LogoutController"
            };

            var businnesDiff = businessName.Except(data);

            List <BusinessViewModel> businessVMs = new List <BusinessViewModel>();

            foreach (var item in businnesDiff)
            {
                businessVMs.Add(items.SingleOrDefault(x => x.Id == item));
            }

            var result = new BaseReponse <ModelListResult <BusinessViewModel> >
            {
                Data = new ModelListResult <BusinessViewModel>()
                {
                    Items     = businessVMs,
                    Message   = Message.Success,
                    RowCount  = totalRow,
                    PageSize  = request.PageSize,
                    PageIndex = request.PageIndex
                },
                Message = Message.Success,
                Status  = (int)QueryStatus.Success
            };

            return(result);
        }
示例#6
0
        public async Task <BaseReponse <ModelListResult <AppUserViewModel> > > GetAllPagingAsync(UserRequest request)
        {
            var query = _userManager.Users.AsNoTracking().AsParallel();

            if (!string.IsNullOrEmpty(request?.SearchText))
            {
                query = query.AsParallel().AsOrdered().WithDegreeOfParallelism(3).Where(x => x.FullName.Contains(request.SearchText) ||
                                                                                        x.UserName.Contains(request.SearchText) ||
                                                                                        x.Email.Contains(request.SearchText));
            }

            int totalRow = query.AsParallel().AsOrdered().WithDegreeOfParallelism(3).Count();

            if (request != null)
            {
                query = query.AsParallel().AsOrdered().WithDegreeOfParallelism(3).Skip((request.PageIndex) * request.PageSize)
                        .Take(request.PageSize);
            }

            var items = query.AsParallel().AsOrdered().WithDegreeOfParallelism(3).Select(x => new AppUserViewModel()
            {
                UserName     = x.UserName,
                Avatar       = x.Avatar,
                BirthDay     = x.BirthDay.ToString(),
                Email        = x.Email,
                FullName     = x.FullName,
                Id           = x.Id,
                PhoneNumber  = x.PhoneNumber,
                Status       = x.Status,
                DateCreated  = x.DateCreated,
                DateModified = x.DateModified
            });

            var result = new BaseReponse <ModelListResult <AppUserViewModel> >
            {
                Data = new ModelListResult <AppUserViewModel>()
                {
                    Items     = items.ToList(),
                    Message   = Message.Success,
                    RowCount  = totalRow,
                    PageSize  = request.PageSize,
                    PageIndex = request.PageIndex
                },
                Message = Message.Success,
                Status  = (int)QueryStatus.Success
            };

            return(result);
        }
        public BaseReponse <string> GetCountryWithMostHolidays(long year)
        {
            try
            {
                var publicHolidaysByCountry = new Dictionary <string, int>();

                var holidays = _helper.GetAllHolidays(year);

                foreach (var holiday in holidays)
                {
                    if (!publicHolidaysByCountry.ContainsKey(holiday.CountryCode))
                    {
                        publicHolidaysByCountry[holiday.CountryCode] = 0;
                    }

                    publicHolidaysByCountry[holiday.CountryCode] += 1;
                }

                publicHolidaysByCountry = publicHolidaysByCountry.OrderByDescending(x => x.Value).ToDictionary(z => z.Key, y => y.Value);

                var countryWithMostHolidaysCode = publicHolidaysByCountry.FirstOrDefault().Key;

                var countryInfo = HolidaysApiWrapper <Country> .GetCountryInfo(countryWithMostHolidaysCode).Result;

                BaseReponse <string> response = new BaseReponse <string>
                {
                    Response   = countryInfo.CommonName,
                    StatusCode = HttpStatusCode.OK,
                    Exception  = null
                };

                return(response);
            }
            catch (Exception ex)
            {
                BaseReponse <string> response = new BaseReponse <string>
                {
                    Response   = null,
                    StatusCode = HttpStatusCode.BadRequest,
                    Exception  = ex
                };

                return(response);
            }
        }
        public BaseReponse Upload(IFormFile file)
        {
            BaseReponse respo = new BaseReponse();

            respo.Message = "";
            try
            {
                var path = environment.WebRootPath + @"/fileupload/";//获取应用程序的当前工作目录
                if (file != null)
                {
                    var fileDir = path;
                    if (!Directory.Exists(fileDir))
                    {
                        Directory.CreateDirectory(fileDir);
                    }
                    //文件名称
                    string projectFileName = file.FileName;
                    //string projectFileName = System.Web.HttpUtility.UrlEncode(file.FileName);
                    string str = DateTime.Now.ToString("yyyyMMddHHmmss"); //用时间做唯一码
                                                                          //上传的文件的路径
                    string filePath = fileDir + str + projectFileName;
                    using (FileStream fs = System.IO.File.Create(filePath))
                    {
                        file.CopyTo(fs);
                        fs.Flush();
                    }

                    respo.Message = AppConfiguration.Value.UrlAddress + @"/fileupload/" + str + projectFileName;//图片地址
                    respo.Code    = 200;
                    respo.Other   = filePath;
                }
                else
                {
                    respo.Code    = 501;
                    respo.Message = "服务器没有收到上传文件";
                }
            }
            catch (Exception ex)
            {
                respo.Code    = 500;
                respo.Message = ex.Message;
            }
            return(respo);
        }
示例#9
0
        public async Task <BaseReponse <ModelListResult <BillViewModel> > > GetAllPaging(BillRequest request)
        {
            var query = (await _orderRepository.FindAll()).AsNoTracking();

            if (!string.IsNullOrEmpty(request?.StartDate))
            {
                DateTime start = DateTime.ParseExact(request.StartDate, "dd/MM/yyyy", CultureInfo.GetCultureInfo("vi-VN"));
                query = query.Where(x => x.DateCreated >= start);
            }
            if (!string.IsNullOrEmpty(request?.EndDate))
            {
                DateTime end = DateTime.ParseExact(request.EndDate, "dd/MM/yyyy", CultureInfo.GetCultureInfo("vi-VN"));
                query = query.Where(x => x.DateCreated <= end);
            }
            if (!string.IsNullOrEmpty(request?.SearchText))
            {
                query = query.Where(x => x.CustomerName.Contains(request.SearchText) || x.CustomerMobile.Contains(request.SearchText));
            }
            var totalRow = query.Count();

            var items = query
                        .OrderByDescending(x => x.DateCreated)
                        .Skip(request.PageIndex * request.PageSize)
                        .Take(request.PageSize);


            var result = new BaseReponse <ModelListResult <BillViewModel> >
            {
                Data = new ModelListResult <BillViewModel>
                {
                    Items     = new BillViewModel().Map(items).ToList(),
                    Message   = Message.Success,
                    RowCount  = totalRow,
                    PageSize  = request.PageSize,
                    PageIndex = request.PageIndex
                },
                Message = Message.Success,
                Status  = (int)QueryStatus.Success
            };

            return(result);
        }
        public BaseReponse <string> GetMostHolidaysByMonth(long year)
        {
            try
            {
                var publicHolidaysByMonth = new Dictionary <int, List <PublicHoliday> >();

                //populate the dictionary for every month with empty list of holidays for that month
                for (var i = 1; i <= 12; i++)
                {
                    publicHolidaysByMonth[i] = new List <PublicHoliday>();
                }

                var holidays = _helper.GetAllHolidays(year);
                holidays.ForEach(x => publicHolidaysByMonth[x.Date.Month].Add(x));

                publicHolidaysByMonth = publicHolidaysByMonth.OrderByDescending(x => x.Value.Count).ToDictionary(z => z.Key, y => y.Value);

                var response = new BaseReponse <string>
                {
                    Response   = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(publicHolidaysByMonth.FirstOrDefault().Key),
                    StatusCode = HttpStatusCode.OK,
                    Exception  = null
                };

                return(response);
            }
            catch (Exception ex)
            {
                BaseReponse <string> response = new BaseReponse <string>
                {
                    Response   = null,
                    StatusCode = HttpStatusCode.BadRequest,
                    Exception  = ex
                };

                return(response);
            }
        }
        public BaseReponse <LightspeedTravelResponse> LightSpeedTravel(long year)
        {
            try
            {
                var publicHolidaysByDate = new List <PublicHoliday>();

                //var holidaysToInsert = new List<PublicHoliday>();

                var allHolidays = new List <PublicHoliday>();

                var timezonesToSave = new List <Timezone>();

                //var holidaysFromDb = _repository.GetPulbicHolidaysByYear(year);
                var countryTimezonesDb = _timezonesRepository.GetAllTimezones();

                var holidays = _helper.GetAllHolidays(year);

                foreach (var holiday in holidays)
                {
                    TimeSpan timespan        = new TimeSpan(12, 00, 00);
                    var      modifiedHoliday = holiday;
                    modifiedHoliday.Date    = modifiedHoliday.Date.Add(timespan);
                    modifiedHoliday.EndDate = modifiedHoliday.Date.AddHours(24);
                    var countryTimezones          = new Timezone();
                    var countryTimezonesByCountry = countryTimezonesDb.Where(x => x.CountryCode.Trim() == holiday.CountryCode);
                    if (countryTimezonesByCountry.Any())
                    {
                        var timezoneCodes = new List <string>();
                        countryTimezonesDb.ToList().ForEach(x => timezoneCodes.Add(x.TimezoneUTC));
                        countryTimezones = new Timezone
                        {
                            CountryCode = countryTimezonesDb.FirstOrDefault().CountryCode,
                            Timezones   = timezoneCodes
                        };
                    }
                    else
                    {
                        countryTimezones = TimezonesApiWrapper <Timezone> .GetCountryTimezones(holiday.CountryCode).Result;

                        foreach (var timezone in countryTimezones.Timezones)
                        {
                            timezonesToSave.Add(new Timezone
                            {
                                CountryCode = holiday.CountryCode,
                                TimezoneUTC = timezone
                            });
                        }
                    }

                    var timeZones = new List <double>();
                    foreach (var timezone in countryTimezones.Timezones)
                    {
                        if (timezone == "UTC")
                        {
                            timeZones.Add(0);
                        }
                        else
                        {
                            var timezoneValue = double.Parse(timezone.Replace("UTC", "").Replace("+", "").Split(":")[0]);
                            timeZones.Add(timezoneValue);
                        }
                    }
                    timeZones               = timeZones.OrderBy(x => x).ToList();
                    modifiedHoliday.Date    = modifiedHoliday.Date.AddHours(timeZones[0]);
                    modifiedHoliday.EndDate = modifiedHoliday.EndDate.AddHours(timeZones[timeZones.Count - 1]);
                    publicHolidaysByDate.Add(modifiedHoliday);
                }

                _timezonesRepository.InsertTimezonesAsync(timezonesToSave);

                publicHolidaysByDate = publicHolidaysByDate.OrderBy(x => x.Date).ToList();

                int count  = 0;
                int result = 0;

                var listOfHolidays      = new List <PublicHoliday>();
                var listOfHolidaysFinal = new List <PublicHoliday>();

                for (int i = 0; i < publicHolidaysByDate.Count - 1; i++)
                {
                    var holiday         = publicHolidaysByDate[i];
                    var nextHoliday     = publicHolidaysByDate[i + 1];
                    var lengthOfHoliday = (holiday.Date - holiday.EndDate).TotalHours;
                    if (holiday.EndDate < nextHoliday.Date)
                    {
                        count          = 0;
                        listOfHolidays = new List <PublicHoliday>();
                    }
                    else
                    {
                        count++; //increase count
                        result = Math.Max(result, count);
                        listOfHolidays.Add(holiday);
                        if (listOfHolidays.Count > listOfHolidaysFinal.Count)
                        {
                            listOfHolidaysFinal = listOfHolidays;
                        }
                    }
                }

                listOfHolidaysFinal.ForEach(x => x.Id = 0);

                var response = new BaseReponse <LightspeedTravelResponse>
                {
                    Response = new LightspeedTravelResponse
                    {
                        LongestSequence = listOfHolidaysFinal.Count,
                        Holidays        = listOfHolidaysFinal
                    },
                    StatusCode = HttpStatusCode.OK,
                    Exception  = null
                };

                return(response);
            }
            catch (Exception ex)
            {
                BaseReponse <LightspeedTravelResponse> response = new BaseReponse <LightspeedTravelResponse>
                {
                    Response   = null,
                    StatusCode = HttpStatusCode.BadRequest,
                    Exception  = ex
                };

                return(response);
            }
        }