Ejemplo n.º 1
0
        //[AbpAuthorize(AppPermissions.Pages_Tenant_OnlineBooking_Diagramatic_GetTypeDiagramatic)]
        public List <TypeDiagramaticResultDto> GetTypeDiagramatic(DiagramaticInputDto input)
        {
            var getType = (from a in _msUnit.GetAll()
                           where a.projectID == input.projectId &&
                           a.clusterID == input.clusterId
                           select new TypeDiagramaticResultDto
            {
                type = a.unitNo.Substring(2, a.unitNo.Length)
            }).Distinct().ToList();

            return(getType);
        }
Ejemplo n.º 2
0
        //private class CustomGetDiagramaticForWebListDto
        //{
        //    public int unitID { get; set; }
        //    public int unitCodeId { get; set; }
        //    public string unitCode { get; set; }
        //    public string floor { get; set; }
        //    public string unitNo { get; set; }
        //    public string unitStatusCode { get; set; }
        //    public string unitStatusName { get; set; }
        //    public int? bedroom { get; set; }
        //    public string zoningName { get; set; }
        //}

        //[AbpAuthorize(AppPermissions.Pages_Tenant_OnlineBooking_Diagramatic_GetListDiagramaticWeb)]
        public List <GetDiagramaticForWebListDto> GetListDiagramaticWeb(DiagramaticInputDto input)
        {
            List <GetDiagramaticForWebListDto> getUnit = new List <GetDiagramaticForWebListDto>();

            #region old

            getUnit = (from x in _contextProp.MS_Unit
                       join y in _contextProp.MS_UnitItemPrice on x.Id equals y.unitID
                       join z in _contextProp.LK_UnitStatus on x.unitStatusID equals z.Id
                       where x.projectID == input.projectId && x.clusterID == input.clusterId
                       //&& (x.categoryCode == "LAN" || x.categoryCode == "KDM")
                       && (z.unitStatusCode == "A" || z.unitStatusCode == "Z")
                       select new GetDiagramaticForWebListDto
            {
                unitCodeId = x.unitCodeID
            }).Distinct().ToList();

            //SendConsole("getUnit:" + JsonConvert.SerializeObject(getUnit));

            if (getUnit.Count == 0)
            {
                var error = new List <GetDiagramaticForWebListDto>();

                var message = new GetDiagramaticForWebListDto
                {
                    message = "projectId/clusterId Tidak Valid"
                };

                error.Add(message);

                //throw new UserFriendlyException("projectId/clusterId Tidak Valid");

                return(new List <GetDiagramaticForWebListDto>(error));
            }

            foreach (var item in getUnit)
            {
                var getfloor = (from x in _contextProp.MS_UnitCode
                                where x.Id == item.unitCodeId
                                orderby x.unitCode.Substring(x.unitCode.Length - 2) descending
                                select x).FirstOrDefault();

                item.floor    = getfloor.unitCode.Substring(getfloor.unitCode.Length - 2);
                item.unitCode = getfloor.unitCode;

                var getUnits = (from x in _contextProp.MS_Unit
                                join y in _contextProp.MS_UnitItemPrice on x.Id equals y.unitID
                                join z in _contextProp.LK_UnitStatus on x.unitStatusID equals z.Id
                                join a in _contextProp.MS_UnitItem on x.Id equals a.unitID into unitItem
                                from a in unitItem.DefaultIfEmpty()
                                join b in _contextProp.MS_UnitRoom on a.Id equals b.unitItemID into unitRoom
                                from b in unitRoom.DefaultIfEmpty()
                                join c in _contextProp.MS_Zoning on x.zoningID equals c.Id
                                join d in _contextProp.MS_Detail on x.detailID equals d.Id
                                where x.projectID == input.projectId && x.clusterID == input.clusterId &&
                                x.unitCodeID == item.unitCodeId &&
                                (z.unitStatusCode == "A" || z.unitStatusCode == "Z")
                                orderby x.Id ascending
                                select new UnitsDto
                {
                    unitID = x.Id,
                    unitNo = x.unitNo,
                    unitStatusCode = z.unitStatusCode,
                    unitStatusName = z.unitStatusName,
                    bedroom = b.bedroom,
                    zoningName = c.zoningName,
                    detailID = x.detailID,
                    detailCode = d.detailCode,
                    detailImage = d.detailImage
                }).Distinct().ToList();

                if (input.detailID != null && input.detailID != 0)
                {
                    getUnits = (from a in getUnits
                                join b in _contextProp.MS_Detail on a.detailID equals b.Id
                                where a.detailID == input.detailID
                                select a).Distinct().ToList();
                }

                item.units = getUnits;
            }
            #endregion
            #region new
            //var getAllData = (from mu in _contextProp.MS_Unit
            //                  join mui in _contextProp.MS_UnitItem on mu.Id equals mui.unitID
            //                  //into unitItem from mui_ in unitItem.DefaultIfEmpty()
            //                  join mur in _contextProp.MS_UnitRoom on mui.Id equals mur.unitItemID
            //                  into unitRoom from mur_ in unitRoom.DefaultIfEmpty()
            //                  join lus in _contextProp.LK_UnitStatus on mu.unitStatusID equals lus.Id
            //                  join mz in _contextProp.MS_Zoning on mu.zoningID equals mz.Id
            //                  join muc in _contextProp.MS_UnitCode on mu.unitCodeID equals muc.Id
            //                  where mu.projectID == input.projectId && mu.clusterID == input.clusterId
            //                  && (lus.unitStatusCode == "A" || lus.unitStatusCode == "Z")
            //                  orderby mu.Id ascending
            //                  select new CustomGetDiagramaticForWebListDto
            //                  {
            //                      unitID = mu.Id,
            //                      unitCodeId = mu.unitCodeID,
            //                      unitCode = muc.unitCode,
            //                      floor = muc.unitCode.Substring(muc.unitCode.Length - 2),
            //                      unitNo = mu.unitNo,
            //                      unitStatusCode = lus.unitStatusCode,
            //                      unitStatusName = lus.unitStatusName,
            //                      bedroom = mur_.bedroom,
            //                      zoningName = mz.zoningName
            //                  }).GroupBy(u => u.unitCodeId)
            //                      .Select(group => new GetDiagramaticForWebListDto
            //                      {
            //                          unitID = group.First().unitID,
            //                          unitCodeId = group.First().unitCodeId,
            //                          unitCode = group.First().unitCode,
            //                          floor = group.First().floor,
            //                          units = group.Select(item => new UnitsDto
            //                          {
            //                              unitID = item.unitID,
            //                              unitNo = item.unitNo,
            //                              unitStatusCode = item.unitStatusCode,
            //                              unitStatusName = item.unitStatusName,
            //                              bedroom = item.bedroom,
            //                              zoningName = item.zoningName
            //                          }).ToList()
            //                      })
            //                    .ToList();

            if (getUnit == null)
            {
                var error   = new List <GetDiagramaticForWebListDto>();
                var message = new GetDiagramaticForWebListDto
                {
                    message = "projectId/clusterId Tidak Valid"
                };
                error.Add(message);
                return(new List <GetDiagramaticForWebListDto>(error));
            }
            //getUnit.AddRange(getAllData);

            #endregion

            return(getUnit.OrderByDescending(x => x.floor).ToList());
        }