Exemplo n.º 1
0
        public BllStatusLib MapToBll(DalStatusLib entity)
        {
            BllStatusLib bllEntity = new BllStatusLib();

            bllEntity.Id = entity.Id;

            SelectedStatusMapper selectedEntityMapper = new SelectedStatusMapper(uow);

            foreach (var item in repository.GetEntitiesByLibId(bllEntity.Id))
            {
                BllSelectedStatus bllSelectedEntity = selectedEntityMapper.MapToBll((DalSelectedStatus)item);
                bllEntity.SelectedEntities.Add(bllSelectedEntity);
            }
            return(bllEntity);
        }
        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 SelectedStatusRepository(ServiceDB context)
 {
     this.context = context;
     mapper       = new SelectedStatusMapper();
 }