public IEnumerable <dynamic> LoadCashList(List <JsonLoadCash> list, StatusType.Status status, int partnerId, int parentId)
 {
     try
     {
         var terminalIds = list.Select(s => s.TerminalId).ToList();
         IEnumerable <Partner> listpartner = partnerId == -1 ? GetPartnerByParentId(parentId) : GetPartnerByParentId(partnerId);// parentId : terminales del usuario logueado,partnerId: terminales del parnet especifico del filtro
         var list4 = (from q in listpartner join m in Table on q.Id equals m.PartnerId select m).ToList();
         return(list4.Where(b => terminalIds.Contains(b.TerminalId))
                .Where(b => status == StatusType.Status.All ? (b.Status == StatusType.Status.Active || b.Status == StatusType.Status.Inactive || b.Status == StatusType.Status.Incomplete) : b.Status == status)
                .Select(b => new { b.TerminalId, b.LocationName, b.Status }).ToList());
     }
     catch (Exception e)
     {
         throw new Exception("Error database " + e.Message);
     }
 }
        public IEnumerable <dynamic> TerminalStatus(List <JsonTerminalStatusReport> list, StatusType.Status status, int partnerId, int parentId, int cityid, int stateid, string zipcode)
        {
            try
            {
                var terminalIds = list.Select(s => s.TerminalId).ToList();
                IEnumerable <Partner> listpartner = partnerId == -1 ? GetPartnerByParentId(parentId) : GetPartnerByParentId(partnerId);// parentId : terminales del usuario logueado,partnerId: terminales del parnet especifico del filtro

                IEnumerable <Terminal> list4 = (from p in listpartner join m in Table.Include(b => b.TerminalContacts) on p.Id equals m.PartnerId select m).ToList();

                return(list4.Where(b => terminalIds.Contains(b.TerminalId))
                       .Where(b => stateid == 0 || b.StateId == stateid)
                       .Where(b => cityid == 0 || b.CityId == cityid)
                       .Where(b => zipcode == null || b.Zip.ToString() == zipcode)
                       .Where(b => status == StatusType.Status.All ? (b.Status == StatusType.Status.Active || b.Status == StatusType.Status.Inactive || b.Status == StatusType.Status.Incomplete) : b.Status == status)
                       .Where(b => b.TerminalContacts.FirstOrDefault() != null)
                       .Select(b => new { b.TerminalId, b.LocationName, b.Status, b.TerminalContacts.FirstOrDefault().Name, b.TerminalContacts.FirstOrDefault().Phone }).ToList());
            }
            catch (Exception e)
            {
                throw new Exception("Error database " + e.Message);
            }
        }
Пример #3
0
        // POST: SubscriptionModels/Edit/5
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.



        public PartialViewResult FilterReportEdit(string idsub)
        {
            ReportModel       report            = null;
            int               subId             = Convert.ToInt32(idsub);
            SubscriptionModel subscriptionModel = _repo.GetSubscriptionById(subId);

            if (subscriptionModel.ReportFilters != null)
            {
                report = subscriptionModel.ReportFilters.First().Report;
            }

            string name   = report.Name.Replace(" ", string.Empty);
            Type   type   = Type.GetType("OctagonPlatform.Models.FormsViewModels." + name + "ViewModel");
            object handle = Activator.CreateInstance(type);


            List <int> days = new List <int>();

            for (int i = 0; i < 32; i++)
            {
                days.Add(i);
            }
            IEnumerable <SelectListItem> selectList = new SelectList(days);

            //  UpdateSubReportFilter(subscriptionModel.ReportFilters, handle,days);
            //Llenar el viewmodel
            foreach (var item in subscriptionModel.ReportFilters)
            {
                if (item.Report.Name != "ALL")
                {
                    FilterModel    f          = item.Filter;
                    PropertyInfo[] collection = handle.GetType().GetProperties();

                    foreach (var prop in collection)
                    {
                        var value = item.Value;
                        if (prop.Name == f.Name)
                        {
                            switch (f.Name)
                            {
                            case "Status":
                                int status            = Convert.ToInt32(value);
                                StatusType.Status sta = (StatusType.Status)status;
                                handle.GetType().GetProperty(prop.Name).SetValue(handle, sta, null);
                                break;

                            case "StartDate":
                                int val    = Convert.ToInt32(value);
                                var aList2 = days.Select(i => new SelectListItem {
                                    Text = i.ToString(), Value = i.ToString(), Selected = (i == val)
                                });
                                selectList = aList2;      // new SelectList(aList2);
                                break;

                            default:
                                handle.GetType().GetProperty(prop.Name).SetValue(handle, item.Value, null);
                                break;
                            }

                            //handle.GetType().GetProperty(prop.Name).SetValue(handle, item.Value, null);
                        }
                    }
                }
            }
            //-----//
            TempData["StartDate"] = selectList;
            TempData["Sub"]       = true;
            return(PartialView("../ReportsSmart/" + name + "/" + "_PartialForm", handle));
        }