Ejemplo n.º 1
0
        public CDataResult <int> AddTide(CTideInput input)
        {
            var newTide = new CTide()
            {
                PublicDate = input.PublicDate,
                FloodTime1 = input.FloodTime1,
                FloodHigh1 = input.FloodHigh1,
                FloodTime2 = input.FloodTime2,
                FloodHigh2 = input.FloodHigh2,
                FloodTime3 = input.FloodTime3,
                FloodHigh3 = input.FloodHigh3,
                FloodTime4 = input.FloodTime4,
                FloodHigh4 = input.FloodHigh4,
                CompanyId  = input.CompanyId
            };

            var newTideId = this._TideRepository.InsertAndGetId(newTide);

            return(new CDataResult <int>()
            {
                IsSuccess = true,
                ErrorMessage = null,
                Data = newTideId
            });
        }
Ejemplo n.º 2
0
 public CDataResult <int> DeleteTide(CTideInput input)
 {
     this._TideRepository.Delete(input.Id);
     return(new CDataResult <int>()
     {
         IsSuccess = true,
         ErrorMessage = null,
         Data = 1
     });
 }
Ejemplo n.º 3
0
        public Task <CDataResults <CTideDto> > GetTides(CTideInput input)
        {
            //Extract data from DB
            var query = this._TideRepository.GetAll();

            if (input.PublicDateFrom.HasValue)
            {
                query = query.Where(r => r.PublicDate >= input.PublicDateFrom);
            }
            if (input.PublicDateTo.HasValue)
            {
                query = query.Where(r => r.PublicDate <= input.PublicDateTo);
            }
            if (input.CompanyId > 0)
            {
                query = query.Where(r => r.CompanyId <= input.CompanyId);
            }
            if (!string.IsNullOrEmpty(input.StationCode))
            {
                query = query.Where(r => r.StationCode == input.StationCode);
            }
            var total = query.Count();

            if (input.pageNumber.HasValue && input.pageNumber.Value > 0 && input.pageSize.HasValue)
            {
                query = query.OrderByDescending(r => r.Id).Take(input.pageSize.Value * input.pageNumber.Value).Skip(input.pageSize.Value * (input.pageNumber.Value - 1));
            }
            else
            {
                query = query.OrderByDescending(r => r.Id);
            }

            var result = query.ToList().MapTo <List <CTideDto> >();

            return(Task.FromResult(new CDataResults <CTideDto>()
            {
                IsSuccess = true,
                ErrorMessage = null,
                Data = result,
                Total = total
            }));
        }
Ejemplo n.º 4
0
        public CDataResult <CTideDto> GetTide(CTideInput input)
        {
            var Tide = this._TideRepository.Get(input.Id);

            if (Tide == null)
            {
                return(new CDataResult <CTideDto>()
                {
                    IsSuccess = false,
                    ErrorMessage = null,
                    Data = null
                });
            }
            else
            {
                return(new CDataResult <CTideDto>()
                {
                    IsSuccess = true,
                    ErrorMessage = null,
                    Data = Tide.MapTo <CTideDto>()
                });
            }
        }
Ejemplo n.º 5
0
        public CDataResult <CTideDto> UpdateTide(CTideInput input)
        {
            var result = new CDataResult <CTideDto>()
            {
                IsSuccess    = false,
                ErrorMessage = null,
                Data         = null
            };
            var Tide = this._TideRepository.Get(input.Id);

            if (Tide == null)
            {
                result.IsSuccess = false;
            }
            Tide.PublicDate = input.PublicDate;
            Tide.FloodTime1 = input.FloodTime1;
            Tide.FloodHigh1 = input.FloodHigh1;
            Tide.FloodTime2 = input.FloodTime2;
            Tide.FloodHigh2 = input.FloodHigh2;
            Tide.FloodTime3 = input.FloodTime3;
            Tide.FloodHigh3 = input.FloodHigh3;
            Tide.FloodTime4 = input.FloodTime4;
            Tide.FloodHigh4 = input.FloodHigh4;

            var updatedTide = this._TideRepository.Update(Tide);

            if (updatedTide == null)
            {
                result.IsSuccess = false;
            }
            else
            {
                result.IsSuccess = true;
                result.Data      = updatedTide.MapTo <CTideDto>();
            }
            return(result);
        }
Ejemplo n.º 6
0
        public CDataResult <bool> ImportTides(CTideInput input)
        {
            byte[]          buffer            = Convert.FromBase64String(input.File_Base64);
            MemoryStream    ms                = new MemoryStream(buffer);
            string          sheetName         = "潮汐时间表";
            string          defaultDatePrefix = "1980-01-01 ";
            List <object[]> dataList          = ExcelExporter <CTide> .ReadFile(ms, sheetName, 20000, 9, 2);

            List <CTide> tideList = new List <CTide>();

            for (int i = 0; i < dataList.Count; i++)
            {
                object[] tideData = dataList[i];
                CTide    tide     = new CTide();
                DateTime publicDate;
                if (!DateTime.TryParse(tideData[0].ToString(), out publicDate))
                {
                    continue;
                }
                tide.PublicDate = publicDate;
                //tide.MoonDate = tideData[1].ToString();
                //DateTime flood1Time;
                //if (!DateTime.TryParse(defaultDatePrefix + tideData[2].ToString(), out flood1Time)) continue;
                //tide.Flood1 = flood1Time;
                //DateTime ebb1Time;
                //if (!DateTime.TryParse(defaultDatePrefix + tideData[3].ToString(), out ebb1Time)) continue;
                //tide.Ebb1 = ebb1Time;
                //DateTime flood2Time;
                //if (!DateTime.TryParse(defaultDatePrefix + tideData[4].ToString(), out flood2Time)) continue;
                //tide.Flood2 = flood2Time;
                //DateTime ebb2Time;
                //if (!DateTime.TryParse(defaultDatePrefix + tideData[5].ToString(), out ebb2Time)) continue;
                //tide.Ebb2 = ebb2Time;
                //tide.PublicDate = tideData[0] == null ? string.Empty : tideData[1].ToString();
                tide.FloodTime1 = tideData[1] == null ?string.Empty:tideData[1].ToString();
                tide.FloodHigh1 = tideData[2] == null ? string.Empty : tideData[2].ToString();
                tide.FloodTime2 = tideData[3] == null ? string.Empty : tideData[3].ToString();
                tide.FloodHigh2 = tideData[4] == null ? string.Empty : tideData[4].ToString();
                tide.FloodTime3 = tideData[5] == null ? string.Empty : tideData[5].ToString();
                tide.FloodHigh3 = tideData[6] == null ? string.Empty : tideData[6].ToString();
                tide.FloodTime4 = tideData[7] == null ? string.Empty : tideData[7].ToString();
                tide.FloodHigh4 = tideData[8] == null ? string.Empty : tideData[8].ToString();
                tideList.Add(tide);
            }
            List <CTide> oldTides = _TideRepository.GetAll().ToList();

            for (int i = 0; i < oldTides.Count; i++)
            {
                _TideRepository.Delete(oldTides[i]);
            }
            for (int i = 0; i < tideList.Count; i++)
            {
                _TideRepository.Insert(tideList[i]);
            }
            return(new CDataResult <bool>()
            {
                IsSuccess = true,
                ErrorMessage = null,
                Data = true
            });
        }