public BllStatusLib Create(BllStatusLib entity)
        {
            var ormLibEntity = uow.StatusLibs.CreateAndReturnOrm(libMapper.MapToDal(entity));
            var lib          = entity;

            uow.Commit();
            entity.Id = ormLibEntity.id;
            SelectedStatusMapper selectedEntityMapper = new SelectedStatusMapper(uow);

            foreach (var Entity in lib.SelectedEntities)
            {
                var dalEntity = selectedEntityMapper.MapToDal(Entity);
                dalEntity.Lib_id = entity.Id;
                var ormEntity = uow.SelectedStatuses.Create(dalEntity);
                uow.Commit();
                Entity.Id = ormEntity.id;
            }

            return(lib);
        }
        public BllStatusLib Update(BllStatusLib entity)
        {
            SelectedStatusMapper selectedEntityMapper = new SelectedStatusMapper(uow);

            foreach (var Entity in entity.SelectedEntities)
            {
                var dalEntity = selectedEntityMapper.MapToDal(Entity);
                dalEntity.Lib_id = entity.Id;
                if (Entity.Id == 0)
                {
                    var en = uow.SelectedStatuses.Create(dalEntity);
                    uow.Commit();
                    Entity.Id = en.id;
                }
                //else
                //{
                //    uow.SelectedStatuses.Update(dalEntity);
                //}
            }
            var EntitysWithLibId = uow.SelectedStatuses.GetEntitiesByLibId(entity.Id);

            foreach (var Entity in EntitysWithLibId)
            {
                bool isTrashEntity = true;
                foreach (var selectedEntity in entity.SelectedEntities)
                {
                    if (Entity.Id == selectedEntity.Id)
                    {
                        isTrashEntity = false;
                        break;
                    }
                }
                if (isTrashEntity == true)
                {
                    uow.SelectedStatuses.Delete(Entity.Id);
                }
            }
            uow.Commit();

            return(entity);
        }
        public IDalSelectedEntity Get(int id)
        {
            var ormEntity = context.Set <SelectedStatus>().FirstOrDefault(e => e.id == id);

            return(ormEntity != null ? (mapper.MapToDal(ormEntity)) : null);
        }