public Model.Departament Save(Model.Departament entity)
        {
            DepartamentDaoStorage.Departaments.Add(entity);
            DepartamentDaoStorage.Dictionary.Add(entity.Id, entity);

            return(entity);
        }
        public Model.Departament Update(Model.Departament entity)
        {
            Delete(entity.Id);
            Save(entity);

            return(entity);
        }
        public Model.Departament Convert(DepartamentParam param, Model.Departament oldEntity)
        {
            Model.Departament entity = null;

            if (oldEntity != null)
            {
                entity = oldEntity;
            }
            else
            {
                entity = new Model.Departament()
                {
                    Code        = param.Code,
                    Id          = param.Id,
                    Description = param.Description,
                    Name        = param.Name
                };
            }

            entity.Teacher    = TeacherDao.Find(param.TeacherId);
            entity.Speciality = SpecialityDao.Find(param.SpecialityId);
            entity.Status     = StatusDao.Find(param.StatusId);

            return(entity);
        }
        public DepartamentResult Find(long id)
        {
            Model.Departament entity = Dao.Find(id);
            DepartamentResult result = ResultConverter.Convert(entity);

            return(result);
        }
        //public DepartamentProcessor(IDepartamentDao dao, IDepartamentParamConverter paramConverter,
        //    IDepartamentResultConverter resultConverter)
        //{
        //    this.Dao = dao;
        //    this.ParamConverter = paramConverter;
        //    this.ResultConverter = resultConverter;
        //}

        public DepartamentResult Create(DepartamentParam param)
        {
            Model.Departament entity = ParamConverter.Convert(param, null);

            entity = Dao.Save(entity);

            return(ResultConverter.Convert(entity));
        }
        public void Update(List <DepartamentParam> param)
        {
            //List<UniversityDemo.Departament> entities = new List<UniversityDemo.Departament>();

            foreach (var item in param)
            {
                Model.Departament oldEntity = Dao.Find(item.Id);
                Model.Departament newEntity = ParamConverter.Convert(item, null);

                Dao.Update(newEntity);
            }
        }
        public void Update(long id, DepartamentParam param)
        {
            Model.Departament oldEntity = Dao.Find(id);

            if (oldEntity != null)
            {
                Dao.Delete(oldEntity);
                Dao.Update(ParamConverter.Convert(param, null));
            }
            else
            {
                Console.WriteLine($"No entity with Id = {id}  was found");
            }
        }
        public DepartamentResult Convert(Model.Departament param)
        {
            DepartamentResult result = new DepartamentResult()
            {
                Id          = param.Id,
                Code        = param.Code,
                Name        = param.Name,
                Description = param.Description,

                TeacherId      = param.Teacher.Id,
                TeacherName    = param.Teacher.Name,
                SpecialityId   = param.Speciality.Id,
                SpecialityName = param.Speciality.Name,
                StatusId       = param.Status.Id,
                StatusName     = param.Status.Name
            };

            return(result);
        }
        static DepartamentDaoStorage()
        {
            Model.Teacher teacher = new Model.Teacher();

            Model.Departament departament1 = new Model.Departament()
            {
                Id          = 1,
                Description = "something",
                Code        = "1",
                Name        = "Departament",
                Teacher     = teacher,
            };

            Model.Departament departament2 = new Model.Departament()
            {
                Id          = 2,
                Description = "something",
                Code        = "2",
                Name        = "Departament",
                Teacher     = teacher,
            };

            Model.Departament departament3 = new Model.Departament()
            {
                Id          = 3,
                Description = "something",
                Code        = "3",
                Name        = "Departament",
                Teacher     = teacher,
            };

            Departaments.Add(departament1);
            Departaments.Add(departament2);
            Departaments.Add(departament3);

            Dictionary.Add(departament1.Id, departament1);
            Dictionary.Add(departament2.Id, departament2);
            Dictionary.Add(departament3.Id, departament3);
        }
 public void Delete(long id)
 {
     Model.Departament entity = Find(id);
     Delete(entity);
 }
 public void Delete(Model.Departament entity)
 {
     DepartamentDaoStorage.Departaments.Remove(entity);
     DepartamentDaoStorage.Dictionary.Remove(entity.Id);
 }