Ejemplo n.º 1
0
        public List <WasteRoleDto> GetAllDataGroupByRoleOrderByUserAndGroupRole()
        {
            Func <IQueryable <WASTE_ROLE>, IOrderedQueryable <WASTE_ROLE> > orderByFilter =
                n => n.OrderBy(z => z.USER_ID).ThenBy(z => z.GROUP_ROLE);

            var listData = _repository.Get(null, orderByFilter, _includeTables).ToList();


            var listMapper = Mapper.Map <List <WasteRoleDto> >(listData);


            var listDistinct = listMapper.Select(c => new
            {
                c.USER_ID,
                c.WERKS,
                c.FirstName,
                c.LastName,
                c.EmailAddress,
                c.Phone,
                c.PlantDescription
            }).Distinct().ToList();

            var result = new List <WasteRoleDto>();

            foreach (var item in listDistinct)
            {
                var listDetails = listMapper.Where(c => c.USER_ID == item.USER_ID && c.WERKS == item.WERKS).ToList();

                var wasteDto = new WasteRoleDto();
                wasteDto.USER_ID = item.USER_ID;
                wasteDto.WERKS   = item.WERKS;

                wasteDto.WasteGroupDescription = string.Join("<br />",
                                                             listDetails.Select(c => "-" + c.WasteGroupDescription).ToList());

                wasteDto.FirstName        = item.FirstName;
                wasteDto.LastName         = item.LastName;
                wasteDto.EmailAddress     = item.EmailAddress;
                wasteDto.Phone            = item.Phone;
                wasteDto.PlantDescription = item.PlantDescription;

                int wasteRoleId = 0;
                var waste       = listMapper.FirstOrDefault(c => c.USER_ID == item.USER_ID && c.WERKS == item.WERKS);
                if (waste != null)
                {
                    wasteRoleId = waste.WASTE_ROLE_ID;
                }

                wasteDto.WASTE_ROLE_ID = wasteRoleId;

                result.Add(wasteDto);
            }

            return(result);
        }
Ejemplo n.º 2
0
        private bool SetChangesHistory(WasteRoleDto origin, WasteRoleDto data, string userId)
        {
            bool isModified = false;

            var changesData = new Dictionary <string, bool>();

            changesData.Add("USER_ID", origin.USER_ID == data.USER_ID);
            changesData.Add("PLANT_ID", origin.WERKS == data.WERKS);
            changesData.Add("WASTE_GROUP", origin.GROUP_ROLE == data.GROUP_ROLE);

            foreach (var listChange in changesData)
            {
                if (listChange.Value)
                {
                    continue;
                }
                var changes = new CHANGES_HISTORY();
                changes.FORM_TYPE_ID  = Enums.MenuList.WasteRole;
                changes.FORM_ID       = data.WASTE_ROLE_ID.ToString();
                changes.FIELD_NAME    = listChange.Key;
                changes.MODIFIED_BY   = userId;
                changes.MODIFIED_DATE = DateTime.Now;
                switch (listChange.Key)
                {
                case "USER_ID":
                    changes.OLD_VALUE = origin.USER_ID;
                    changes.NEW_VALUE = data.USER_ID;
                    break;

                case "PLANT_ID":
                    changes.OLD_VALUE = origin.WERKS;
                    changes.NEW_VALUE = data.WERKS;
                    break;

                case "WASTE_GROUP":
                    changes.OLD_VALUE = EnumHelper.GetDescription(origin.GROUP_ROLE);
                    changes.NEW_VALUE = EnumHelper.GetDescription(data.GROUP_ROLE);
                    break;
                }

                _changesHistoryBll.AddHistory(changes);
                isModified = true;
            }
            return(isModified);
        }