public override bool IsValid(object value)
        {
            bool isValid = false;
            var e = value as SiteMonitoring;

            if (e != null)
            {
                var repo = new SiteMonitoringRepository();
                isValid = repo.ValidateOrder(e.ID, e.Order);
            }

            return isValid;
        }
Example #2
0
        public override bool IsValid(object value)
        {
            bool isValid = false;
            var  e       = value as SiteMonitoring;

            if (e != null)
            {
                var repo = new SiteMonitoringRepository();
                isValid = repo.ValidateOrder(e.ID, e.Order);
            }

            return(isValid);
        }
        public IEnumerable<SelectListItem> FilterOrder(SiteMonitoring e)
        {
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();

            var orderList = e.ContractDetail.SiteMonitorings.Select(r => r.Order).Distinct();

            var timelineList = e.ContractDetail.ContractDetailTimelines
                .ToList()
                .Where(r => !orderList.Contains(r.Order) || r.Order == e.Order)
                .Where(r => siteMonitoringRepository.ValidateOrder(e.ID, r.Order))
                .OrderBy(r => r.Order)
                .Select(r => new SelectListItem() { Value = r.Order.ToString(), Text = string.Format("{0}: {1} - {2}", r.Order, String.Format("{0:d}", r.FromDate), String.Format("{0:d}", r.ToDate)) });
            ;

            return timelineList;
        }
        public IEnumerable<SelectListItem> FilterOrderForCreate(int contractDetailID)
        {
            ContractDetailRepository contractDetailRepository = new ContractDetailRepository();
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();

            var contractDetail = contractDetailRepository.Get(contractDetailID);

            var orderList = contractDetail.SiteMonitorings.Select(r => r.Order).Distinct();

            var timelineList = contractDetail.ContractDetailTimelines
                .ToList()
                .Where(r => !orderList.Contains(r.Order))
                .OrderBy(r => r.Order)
                .Select(r => new SelectListItem() { Value = r.Order.ToString(), Text = string.Format("{0}: {1} - {2}", r.Order, String.Format("{0:d}", r.FromDate), String.Format("{0:d}", r.ToDate)) });
            ;

            return timelineList;
        }
        public IEnumerable <SelectListItem> FilterOrder(SiteMonitoring e)
        {
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();

            var orderList = e.ContractDetail.SiteMonitorings.Select(r => r.Order).Distinct();

            var timelineList = e.ContractDetail.ContractDetailTimelines
                               .ToList()
                               .Where(r => !orderList.Contains(r.Order) || r.Order == e.Order)
                               .Where(r => siteMonitoringRepository.ValidateOrder(e.ID, r.Order))
                               .OrderBy(r => r.Order)
                               .Select(r => new SelectListItem()
            {
                Value = r.Order.ToString(), Text = string.Format("{0}: {1} - {2}", r.Order, String.Format("{0:d}", r.FromDate), String.Format("{0:d}", r.ToDate))
            });

            ;

            return(timelineList);
        }
        public List <SiteMonitoring> ReportDetails(int contractID, DateTime?from, DateTime?to)
        {
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();
            List <SiteMonitoring>    details = new List <SiteMonitoring>();

            var contract = Get(contractID);

            if (contract != null)
            {
                foreach (OAMS.Models.ContractDetail cd in contract.ContractDetails.OrderBy(r => r.Type))
                {
                    SiteMonitoring sm = siteMonitoringRepository.Find(cd, from, to);

                    if (sm != null)
                    {
                        details.Add(sm);
                    }
                }
            }

            return(details);
        }
        public IEnumerable <SelectListItem> FilterOrderForCreate(int contractDetailID)
        {
            ContractDetailRepository contractDetailRepository = new ContractDetailRepository();
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();

            var contractDetail = contractDetailRepository.Get(contractDetailID);

            var orderList = contractDetail.SiteMonitorings.Select(r => r.Order).Distinct();

            var timelineList = contractDetail.ContractDetailTimelines
                               .ToList()
                               .Where(r => !orderList.Contains(r.Order))
                               .OrderBy(r => r.Order)
                               .Select(r => new SelectListItem()
            {
                Value = r.Order.ToString(), Text = string.Format("{0}: {1} - {2}", r.Order, String.Format("{0:d}", r.FromDate), String.Format("{0:d}", r.ToDate))
            });

            ;

            return(timelineList);
        }
        public Rpt01_Model_SiteMonitoring Report(int contractID, DateTime?from, DateTime?to)
        {
            SiteMonitoringRepository   siteMonitoringRepository = new SiteMonitoringRepository();
            Rpt01_Model_SiteMonitoring rpt = new Rpt01_Model_SiteMonitoring();

            rpt.From    = from;
            rpt.To      = to;
            rpt.Details = new List <Rpt01_Model_SiteMonitoringDetail>();

            var contract = Get(contractID);

            if (contract != null)
            {
                int index = 1;

                foreach (OAMS.Models.ContractDetail cd in contract.ContractDetails.OrderBy(r => r.Type))
                {
                    Rpt01_Model_SiteMonitoringDetail detail = new Rpt01_Model_SiteMonitoringDetail();

                    DateTime?lastDate = null;

                    SiteMonitoring sm = siteMonitoringRepository.Find(cd, from, to);
                    sm = sm ?? new SiteMonitoring();

                    lastDate = sm.SiteMonitoringPhotoes
                               .OrderByDescending(r => r.TakenDate)
                               .Select(r => r.TakenDate)
                               .FirstOrDefault();

                    detail.ID                   = index;
                    detail.SiteCode             = cd.Site.Code;
                    detail.Supplier             = contract.Contractor != null ? contract.ContractorName : cd.Site.ContractorName;
                    detail.Province             = cd.Site.Geo1 != null ? cd.Site.Geo1.FullName : "";
                    detail.District             = cd.Site.Geo2 != null ? cd.Site.Geo2.Name : "";
                    detail.Street               = string.Format("{0} {1} {2}", cd.Site.AddressLine1, cd.Site.AddressLine2, cd.Site.Geo3 == null ? "" : cd.Site.Geo3.Name);
                    detail.Size                 = string.Format("{0}m x {1}m", cd.Width.ToString(), cd.Height.ToString());
                    detail.Product              = sm.Product == null ? "" : sm.Product.Name;
                    detail.Client               = sm.Product == null ? "" : sm.Product.NewClientName;
                    detail.SiteType             = cd.Type;
                    detail.CurrentCreative      = sm.CurrentCreative;
                    detail.SiteFormat           = cd.Format;
                    detail.SiteScore            = cd.Site.Score;
                    detail.LastestPhotoDate     = lastDate;
                    detail.BackFront            = cd.Site.BacklitFormat != null ? "Backlit" : "Frontlit";
                    detail.Working              = sm.Working;
                    detail.NumOfBulbs           = sm.NoOfBullbs;
                    detail.BulbsWorking         = sm.BullsWorking;
                    detail.Issue                = sm.Issues;
                    detail.Clean                = sm.Clean;
                    detail.CreativeGoodConditon = sm.CreativeGoodConditon;
                    detail.ExternalInterference = sm.ExternalInterference;
                    detail.Vandalism            = sm.Vandalism;
                    detail.Comments             = sm.Comments;
                    detail.RequiredFollowUp     = sm.RequiredFollowUp;
                    detail.Action               = sm.Action;
                    detail.DateOfProblem        = sm.DateOfProblem;
                    detail.NowFixed             = sm.NowFixed;

                    index++;
                    if (sm.Working.HasValue && sm.Working.Value)
                    {
                        rpt.TotalWorking++;
                    }
                    if (sm.Issues != null)
                    {
                        rpt.TotalIssues++;
                    }
                    if (sm.Clean.HasValue && sm.Clean.Value)
                    {
                        rpt.TotalClean++;
                    }
                    if (sm.CreativeGoodConditon.HasValue && sm.CreativeGoodConditon.Value)
                    {
                        rpt.TotalCreativeGoodCondition++;
                    }
                    if (sm.ExternalInterference.HasValue && sm.ExternalInterference.Value)
                    {
                        rpt.TotalExternnalInterference++;
                    }
                    if (sm.Vandalism.HasValue && sm.Vandalism.Value)
                    {
                        rpt.TotalVandalism++;
                    }
                    if (sm.RequiredFollowUp.HasValue && sm.RequiredFollowUp.Value)
                    {
                        rpt.TotalRequiredFollowUp++;
                    }
                    if (sm.NowFixed.HasValue && sm.NowFixed.Value)
                    {
                        rpt.TotalNowFixed++;
                    }

                    rpt.Details.Add(detail);
                }
            }

            return(rpt);
        }
Example #9
0
        public Rpt01_Model_SiteMonitoring Report(int contractID, DateTime? from, DateTime? to)
        {
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();
            Rpt01_Model_SiteMonitoring rpt = new Rpt01_Model_SiteMonitoring();
            rpt.From = from;
            rpt.To = to;
            rpt.Details = new List<Rpt01_Model_SiteMonitoringDetail>();

            var contract = Get(contractID);
            if (contract != null)
            {
                int index = 1;

                foreach (OAMS.Models.ContractDetail cd in contract.ContractDetails.OrderBy(r => r.Site.Type))
                {
                    Rpt01_Model_SiteMonitoringDetail detail = new Rpt01_Model_SiteMonitoringDetail();

                    DateTime? lastDate = null;

                    SiteMonitoring sm = siteMonitoringRepository.Find(cd, from, to);
                    sm = sm ?? new SiteMonitoring();

                    lastDate = sm.SiteMonitoringPhotoes
                        .OrderByDescending(r => r.TakenDate)
                        .Select(r => r.TakenDate)
                        .FirstOrDefault();

                    detail.ID = index;
                    detail.SiteCode = cd.Site.Code;
                    detail.Supplier = contract.Contractor != null ? contract.ContractorName : cd.Site.ContractorName;
                    detail.Province = cd.Site.Geo1 != null ? cd.Site.Geo1.FullName : "";
                    detail.District = cd.Site.Geo2 != null ? cd.Site.Geo2.Name : "";
                    detail.Street = string.Format("{0} {1} {2}", cd.Site.AddressLine1, cd.Site.AddressLine2, cd.Site.Geo3 == null ? "" : cd.Site.Geo3.Name);
                    detail.Size = string.Format("{0}m x {1}m", cd.Site.Width.ToString(), cd.Site.Height.ToString());
                    detail.Product = sm.Product == null ? "" : sm.Product.Name;
                    detail.Client = sm.Product == null ? "" : sm.Product.NewClientName;
                    detail.SiteType = cd.Site.Type;
                    detail.SiteFormat = cd.Format;
                    detail.LastestPhotoDate = lastDate;
                    detail.BackFront = cd.Site.BacklitFormat != null ? "Backlit" : "Frontlit";
                    detail.Working = sm.Working;
                    detail.NumOfBulbs = sm.NoOfBullbs;
                    detail.BulbsWorking = sm.BullsWorking;
                    detail.Issue = sm.Issues;
                    detail.Clean = sm.Clean;
                    detail.CreativeGoodConditon = sm.CreativeGoodConditon;
                    detail.ExternalInterference = sm.ExternalInterference;
                    detail.Vandalism = sm.Vandalism;
                    detail.Comments = sm.Comments;
                    detail.RequiredFollowUp = sm.RequiredFollowUp;
                    detail.Action = sm.Action;
                    detail.DateOfProblem = sm.DateOfProblem;
                    detail.NowFixed = sm.NowFixed;

                    index++;
                    if (sm.Working.HasValue && sm.Working.Value) rpt.TotalWorking++;
                    if (sm.Issues != null) rpt.TotalIssues++;
                    if (sm.Clean.HasValue && sm.Clean.Value) rpt.TotalClean++;
                    if (sm.CreativeGoodConditon.HasValue && sm.CreativeGoodConditon.Value) rpt.TotalCreativeGoodCondition++;
                    if (sm.ExternalInterference.HasValue && sm.ExternalInterference.Value) rpt.TotalExternnalInterference++;
                    if (sm.Vandalism.HasValue && sm.Vandalism.Value) rpt.TotalVandalism++;
                    if (sm.RequiredFollowUp.HasValue && sm.RequiredFollowUp.Value) rpt.TotalRequiredFollowUp++;
                    if (sm.NowFixed.HasValue && sm.NowFixed.Value) rpt.TotalNowFixed++;

                    rpt.Details.Add(detail);
                }
            }

            return rpt;
        }
Example #10
0
        public List<SiteMonitoring> ReportDetails(int contractID, DateTime? from, DateTime? to)
        {
            SiteMonitoringRepository siteMonitoringRepository = new SiteMonitoringRepository();
            List<SiteMonitoring> details = new List<SiteMonitoring>();

            var contract = Get(contractID);
            if (contract != null)
            {
                foreach (OAMS.Models.ContractDetail cd in contract.ContractDetails.OrderBy(r => r.Site.Type))
                {
                    SiteMonitoring sm = siteMonitoringRepository.Find(cd, from, to);

                    if (sm != null)
                        details.Add(sm);
                }
            }

            return details;
        }