コード例 #1
0
 public void Delete(WarehouseBindingModel model)
 {
     for (int i = 0; i < source.Warehouses.Count; ++i)
     {
         if (source.Warehouses[i].Id == model.Id.Value)
         {
             source.Warehouses.RemoveAt(i);
             return;
         }
     }
     throw new Exception("Элемент не найден");
 }
        public void Delete(WarehouseBindingModel model)
        {
            var element = _warehouseStorage.GetElement(new WarehouseBindingModel
            {
                Id = model.Id
            });

            if (element == null)
            {
                throw new Exception("Склад не найден");
            }
            _warehouseStorage.Delete(model);
        }
 public List <WarehouseViewModel> Read(WarehouseBindingModel model)
 {
     if (model == null)
     {
         return(_warehouseStorage.GetFullList());
     }
     if (model.Id.HasValue)
     {
         return(new List <WarehouseViewModel> {
             _warehouseStorage.GetElement(model)
         });
     }
     return(_warehouseStorage.GetFilteredList(model));
 }
コード例 #4
0
        public void Insert(WarehouseBindingModel model)
        {
            Warehouse tempWarehouse = new Warehouse {
                Id = 1
            };

            foreach (var warehouse in source.Warehouses)
            {
                if (warehouse.Id >= tempWarehouse.Id)
                {
                    tempWarehouse.Id = warehouse.Id + 1;
                }
            }
            source.Warehouses.Add(CreateModel(model, tempWarehouse));
        }
        public void UpdElement(WarehouseBindingModel model)
        {
            Warehouse element = source.Warehouses.FirstOrDefault(rec =>
                                                                 rec.WarehouseName == model.WarehouseName && rec.Id != model.Id);

            if (element != null)
            {
                throw new Exception("Уже есть склад с таким названием");
            }
            element = source.Warehouses.FirstOrDefault(rec => rec.Id == model.Id);
            if (element == null)
            {
                throw new Exception("Элемент не найден");
            }
            element.WarehouseName = model.WarehouseName;
        }
        public void AddElement(WarehouseBindingModel model)
        {
            Warehouse element = source.Warehouses.FirstOrDefault(rec => rec.WarehouseName == model.WarehouseName);

            if (element != null)
            {
                throw new Exception("Уже есть склад с таким названием");
            }
            int maxId = source.Warehouses.Count > 0 ? source.Warehouses.Max(rec => rec.Id) : 0;

            source.Warehouses.Add(new Warehouse
            {
                Id            = maxId + 1,
                WarehouseName = model.WarehouseName
            });
        }
コード例 #7
0
 public WarehouseViewModel GetElement(WarehouseBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     foreach (var warehouse in source.Warehouses)
     {
         if (warehouse.Id == model.Id || warehouse.Name ==
             model.Name)
         {
             return(CreateModel(warehouse));
         }
     }
     return(null);
 }
コード例 #8
0
        public void Update(WarehouseBindingModel model)
        {
            Warehouse tempWarehouse = null;

            foreach (var warehouse in source.Warehouses)
            {
                if (warehouse.Id == model.Id)
                {
                    tempWarehouse = warehouse;
                }
            }
            if (tempWarehouse == null)
            {
                throw new Exception("Элемент не найден");
            }
            CreateModel(model, tempWarehouse);
        }
コード例 #9
0
        public List <WarehouseViewModel> GetFilteredList(WarehouseBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }
            List <WarehouseViewModel> result = new List <WarehouseViewModel>();

            foreach (var warehouse in source.Warehouses)
            {
                if (warehouse.Name.Contains(model.Name))
                {
                    result.Add(CreateModel(warehouse));
                }
            }
            return(result);
        }
        public void CreateOrUpdate(WarehouseBindingModel model)
        {
            var element = _warehouseStorage.GetElement(new WarehouseBindingModel
            {
                Name = model.Name
            });

            if (element != null && element.Id != model.Id)
            {
                throw new Exception("Уже есть склад с таким названием");
            }
            if (model.Id.HasValue)
            {
                _warehouseStorage.Update(model);
            }
            else
            {
                _warehouseStorage.Insert(model);
            }
        }
コード例 #11
0
        private Warehouse CreateModel(WarehouseBindingModel model, Warehouse warehouse)
        {
            warehouse.Name                = model.Name;
            warehouse.Surname             = model.Surname;
            warehouse.DateCreate          = model.DateCreate;
            warehouse.WerehouseComponents = new Dictionary <int, int>();

            foreach (var component in model.WerehouseComponents)
            {
                if (warehouse.WerehouseComponents.ContainsKey(component.Key))
                {
                    warehouse.WerehouseComponents[component.Key] =
                        model.WerehouseComponents[component.Key].Item2;
                }
                else
                {
                    warehouse.WerehouseComponents.Add(component.Key,
                                                      model.WerehouseComponents[component.Key].Item2);
                }
            }

            return(warehouse);
        }