Пример #1
0
        public List <ModelViewODS> GetList(string StatusVisitID, string ModuleID, string PriorityID, string StatusOrderID, string ServiceID, string OrderID, string Employee, string StartDate, string EndDate, entities.Entity.Security.EntityUser User)
        {
            var predicate = PredicateBuilder.New <MonitorOrders>();

            if (StatusVisitID.Trim().Length > 0)
            {
                List <int> iStatusVisitID = StatusVisitID.Split(',').Select(int.Parse).ToList();
                if (iStatusVisitID.Count() > 0)
                {
                    predicate = predicate.And(i => iStatusVisitID.Contains(i.FK_StatusVisitID.Value));
                }
            }

            if (ModuleID.Trim().Length > 0)
            {
                List <int> iModuleID = ModuleID.Split(',').Select(int.Parse).ToList();
                if (iModuleID.Count() > 0)
                {
                    predicate = predicate.And(i => iModuleID.Contains(i.Orders.FK_ModuleID.Value));
                }
            }

            if (PriorityID.Trim().Length > 0)
            {
                List <int> iPriorityID = PriorityID.Split(',').Select(int.Parse).ToList();
                if (iPriorityID.Count() > 0)
                {
                    predicate = predicate.And(i => iPriorityID.Contains(i.SequenceVisit.Value));
                }
            }

            if (StatusOrderID.Trim().Length > 0)
            {
                List <int> iStatusOrderID = StatusOrderID.Split(',').Select(int.Parse).ToList();
                if (iStatusOrderID.Count() > 0)
                {
                    predicate = predicate.And(i => iStatusOrderID.Contains(i.FK_StatusOrderID.Value));
                }
            }

            if (ServiceID.Trim().Length > 0)
            {
                List <int> iServiceID = ServiceID.Split(',').Select(int.Parse).ToList();
                if (iServiceID.Count() > 0)
                {
                    predicate = predicate.And(i => iServiceID.Contains(i.Orders.FK_GuarantyID.Value));
                }
            }

            if (OrderID.Trim().Length > 0)
            {
                predicate = predicate.And(i => i.Orders.OrderID.Contains(OrderID));
            }

            if (Employee.Trim().Length > 0)
            {
                predicate = predicate.And(i => (i.Orders.Employee.FirstName + " " + i.Orders.Employee.LastName).Contains(Employee));
            }

            DateTime fhIni = DateTime.Today;

            if (DateTime.TryParse(StartDate, out fhIni))
            {
                predicate = predicate.And(i => i.Orders.OrderExecuteDate >= fhIni);
            }

            DateTime fhFin = DateTime.Today;

            if (DateTime.TryParse(EndDate, out fhFin))
            {
                fhFin     = fhFin.AddHours(23).AddMinutes(59).AddSeconds(59);
                predicate = predicate.And(i => i.Orders.OrderExecuteDate <= fhFin);
            }

            if (User.ModuleID.HasValue)
            {
                predicate = predicate.And(i => i.Orders.FK_ModuleID == User.ModuleID.Value);
            }

            base.DataContext.Database.CommandTimeout = 1600;

            return(base.DataContext.MonitorOrders.Where(predicate).Select(q => new ModelViewODS()
            {
                MonitorID = q.PK_MonitorOrdersID,
                StatusOrderID = q.FK_StatusOrderID.Value,
                StatusVisitID = q.FK_StatusVisitID.Value,
                ModuleID = q.Orders.FK_ModuleID.Value,
                StatusODS = q.CauseOrder.StatusOrder.StatusOrder1,
                CauseOrder = q.CauseOrder.CauseOrder1,
                Module = q.Orders.Employee.ModuleMabe.ModuleID + " " + q.Orders.Employee.ModuleMabe.Base,
                OrderID = q.Orders.OrderID,
                EmployeeName = q.Orders.Employee.FirstName + " " + q.Orders.Employee.LastName,
                ServiceType = q.Orders.Guaranty.GuarantyID + " " + q.Orders.Guaranty.Guaranty1,
                StatusVisit = q.StatusVisit.StatusVisit1,
                StartVisitODS = q.StartVisitDate.ToString(),
                StartTryODS = q.StartServiceDate.ToString(),
                StartRunODS = q.StartOrderDate.ToString(),
                EndVisitODS = q.EndVisitDate.ToString(),
                EndTryODS = q.EndServiceDate.ToString(),
                EndRunODS = q.EndOrderDate.ToString(),
                LatitudeStartVisit = q.LatitudeStartVisit.HasValue ? q.LatitudeStartVisit.Value.ToString() : "",
                LogitudeStartVisit = q.LogitudeStartVisit.HasValue ? q.LogitudeStartVisit.Value.ToString() : "",
                LatitudeEndVisit = q.LatitudeEndVisit.HasValue ? q.LatitudeEndVisit.Value.ToString() : "",
                LogitudeEndVisit = q.LogitudeEndVisit.HasValue ? q.LogitudeEndVisit.Value.ToString() : "",
                LatitudeStartOrder = q.LatitudeStartOrder.HasValue ? q.LatitudeStartOrder.Value.ToString() : "",
                LogitudeStartOrder = q.LogitudeStartOrder.HasValue ? q.LogitudeStartOrder.Value.ToString() : "",
                LatitudeEndOrder = q.LatitudeEndOrder.HasValue ? q.LatitudeEndOrder.Value.ToString() : "",
                LogitudeEndOrder = q.LogitudeEndOrder.HasValue ? q.LogitudeEndOrder.Value.ToString() : "",
                DurationVisit = q.DurationVisit.HasValue ? q.DurationVisit.Value.ToString() : "",
                DurationExecute = q.DurationExecute.HasValue ? q.DurationExecute.Value.ToString() : "",
                Notes = q.NoteOrder,
                URL = q.Orders.URLPreOrder,
                SendCRM = q.Orders.SendCRM,
                OrderExecuteDate = q.Orders.OrderExecuteDate,
                Invoice = q.Orders.Invoice.Count() > 0 ? "Si" : "No",
                Evidence = q.Evidence.Where(p => p.TypeEvidence == "StartODS").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).Take(3).ToList(),
                DurationOrder = ""
            }).ToList());
        }
Пример #2
0
 public static List <ModelViewEvidence> GetLisEvidencetAll(string StatusVisitID, string ModuleID, string PriorityID, string StatusOrderID, string ServiceID, string OrderID, string Employee, string StartDate, string EndDate, entities.Entity.Security.EntityUser User)
 {
     return(new BusinessOrderEvidence().GetList(StatusVisitID, ModuleID, PriorityID, StatusOrderID, ServiceID, OrderID, Employee, StartDate, EndDate, User));
 }
        public List <ModelViewEvidence> GetList(string StatusVisitID, string ModuleID, string PriorityID, string StatusOrderID, string ServiceID, string OrderID, string Employee, string StartDate, string EndDate, entities.Entity.Security.EntityUser User)
        {
            var predicate = PredicateBuilder.New <MonitorOrders>();

            if (StatusVisitID.Trim().Length > 0)
            {
                List <int> iStatusVisitID = StatusVisitID.Split(',').Select(int.Parse).ToList();
                if (iStatusVisitID.Count() > 0)
                {
                    predicate = predicate.And(i => iStatusVisitID.Contains(i.FK_StatusVisitID.Value));
                }
            }

            if (ModuleID.Trim().Length > 0)
            {
                List <int> iModuleID = ModuleID.Split(',').Select(int.Parse).ToList();
                if (iModuleID.Count() > 0)
                {
                    predicate = predicate.And(i => iModuleID.Contains(i.Orders.FK_ModuleID.Value));
                }
            }

            if (PriorityID.Trim().Length > 0)
            {
                List <int> iPriorityID = PriorityID.Split(',').Select(int.Parse).ToList();
                if (iPriorityID.Count() > 0)
                {
                    predicate = predicate.And(i => iPriorityID.Contains(i.SequenceVisit.Value));
                }
            }

            if (StatusOrderID.Trim().Length > 0)
            {
                List <int> iStatusOrderID = StatusOrderID.Split(',').Select(int.Parse).ToList();
                if (iStatusOrderID.Count() > 0)
                {
                    predicate = predicate.And(i => iStatusOrderID.Contains(i.FK_StatusOrderID.Value));
                }
            }

            if (ServiceID.Trim().Length > 0)
            {
                List <int> iServiceID = ServiceID.Split(',').Select(int.Parse).ToList();
                if (iServiceID.Count() > 0)
                {
                    predicate = predicate.And(i => iServiceID.Contains(i.Orders.FK_GuarantyID.Value));
                }
            }

            if (OrderID.Trim().Length > 0)
            {
                predicate = predicate.And(i => i.Orders.OrderID.Contains(OrderID));
            }

            if (Employee.Trim().Length > 0)
            {
                predicate = predicate.And(i => (i.Orders.Employee.FirstName + " " + i.Orders.Employee.LastName).Contains(Employee));
            }

            DateTime fhIni = DateTime.Today;

            if (DateTime.TryParse(StartDate, out fhIni))
            {
                predicate = predicate.And(i => i.Orders.OrderExecuteDate >= fhIni);
            }

            DateTime fhFin = DateTime.Today;

            if (DateTime.TryParse(EndDate, out fhFin))
            {
                fhFin     = fhFin.AddHours(23).AddMinutes(59).AddSeconds(59);
                predicate = predicate.And(i => i.Orders.OrderExecuteDate <= fhFin);
            }

            if (User.ModuleID.HasValue)
            {
                predicate = predicate.And(i => i.Orders.FK_ModuleID == User.ModuleID.Value);
            }

            return(base.DataContext.MonitorOrders.Where(predicate).Select(q => new ModelViewEvidence()
            {
                OrderID = q.Orders.OrderID,
                EmployeeName = q.Orders.Employee.FirstName + " " + q.Orders.Employee.LastName,
                Date = SqlFunctions.DateName("day", q.Orders.OrderExecuteDate) + "/" + SqlFunctions.DateName("month", q.Orders.OrderExecuteDate) + "/" + SqlFunctions.DateName("year", q.Orders.OrderExecuteDate),
                EvidenceStartODS = q.Evidence.Where(p => p.TypeEvidence == "StartODS").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList(),
                EvidenceBadUse = q.Evidence.Where(p => p.TypeEvidence == "BadUse").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList(),
                EvidenceNoSeriesNumber = q.Evidence.Where(p => p.TypeEvidence == "NoSeriesNumber").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList(),
                EvidencePurchaseNote = q.Evidence.Where(p => p.TypeEvidence == "PurchaseNote").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList(),
                EvidenceSummary = q.Evidence.Where(p => p.TypeEvidence == "Summary").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList(),
                EvidenceFinish = q.Evidence.Where(p => p.TypeEvidence == "Finish").Select(p => new EvidenceOrder()
                {
                    TypeEvidence = p.TypeEvidence, URLEvidence = GlobalConfiguration.urlRequest + p.URLEvidence.Substring(2)
                }).ToList()
            }).ToList());
        }
Пример #4
0
 public List <ModelViewODS> GetList(string StatusVisitID, string ModuleID, string PriorityID, string StatusOrderID, string ServiceID, string OrderID, string Employee, string StartDate, string EndDate, entities.Entity.Security.EntityUser User)
 {
     return(new RepositoryMonitorOrder().GetList(StatusVisitID, ModuleID, PriorityID, StatusOrderID, ServiceID, OrderID, Employee, StartDate, EndDate, User));
 }