Exemplo n.º 1
0
        public List <SizeDTO> FindAll()
        {
            SizeDTO        size;
            ProductDTO     product;
            List <SizeDTO> results     = new List <SizeDTO>();
            string         queryString = "SELECT * FROM dbo.Size";

            try
            {
                //The connection is automatically closed at the end of the using block.
                using (SqlConnection con = new SqlConnection(ConnectionString))
                {
                    using (SqlCommand cmd = new SqlCommand(queryString, con))
                    {
                        con.Open();
                        SqlDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            size    = new SizeDTO();
                            product = new ProductDTO();
                            size    = GenerateDetail(reader, product, size);
                            //return product instance as data object
                            Debug.Print("SizeDAL: /FindByAll/ " + size.GetID().ToString());
                            results.Add(size);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                e.GetBaseException();
            }
            return(results);
        }
Exemplo n.º 2
0
        public SizeDTO FindPriceBySize(int productID, int sizeProduct)
        {
            SizeDTO    size;
            ProductDTO product;
            string     queryString = "SELECT * FROM dbo.Size WHERE unitSize = @unitSize AND productID = @id";

            try
            {
                //The connection is automatically closed at the end of the using block.
                using (SqlConnection con = new SqlConnection(ConnectionString))
                {
                    using (SqlCommand cmd = new SqlCommand(queryString, con))
                    {
                        cmd.Parameters.AddWithValue("@unitSize", SqlDbType.Decimal).Value = sizeProduct;
                        cmd.Parameters.AddWithValue("@id", SqlDbType.Int).Value           = productID;
                        con.Open();
                        SqlDataReader reader = cmd.ExecuteReader();
                        if (reader.Read())
                        {
                            size    = new SizeDTO();
                            product = new ProductDTO();
                            size    = GenerateDetail(reader, product, size);
                            //return product instance as data object
                            Debug.Print("SizeDAL: /FindByProduct/ " + size.GetID().ToString());
                            return(size);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                e.GetBaseException();
            }
            return(null);
        }
        public async Task <bool> EditAsync(SizeDTO model)
        {
            var size = _mapper.Map <Size>(model);

            _repository.Edit(size);

            return(await _repository.SaveAsync() > 0 ? true : false);
        }
Exemplo n.º 4
0
        public static SizeDTO MapToDTO(SizeDAO size)
        {
            var s = new SizeDTO();

            s.Id     = size.Id;
            s.Name   = size.Name;
            s.Active = size.Active;

            return(s);
        }
        public static SizeDTO ConvertToDTOSize(DataRow dr)
        {
            SizeDTO si = new SizeDTO();

            si.Id            = Convert.ToInt32(dr["id"]);
            si.Sizenumber    = dr["sizenumber"].ToString();
            si.Masp_id       = dr["masp_id"].ToString();
            si.Soluongtonkho = Convert.ToInt32(dr["SoLuongTonKho"]);
            return(si);
        }
        public static SizeDTO SizeToSizeDTO(Size item)
        {
            SizeDTO result = new SizeDTO();

            result.Id   = item.Id;
            result.Heft = item.Heft;
            result.Name = item.Name;

            /*foreach(var menu in item.Menus)
             * {
             *  result.Menus.Add(MenuToMenuDTO(menu));
             * }*/
            return(result);
        }
        public Decimal GetPrice(SizeDTO size)
        {
            if (size.Name.ToLower() == "personal")
            {
                return(4.00m);
            }
            else if (size.Name.ToLower() == "small")
            {
                return(6.00m);
            }
            else if (size.Name.ToLower() == "medium")
            {
                return(8.00m);
            }
            else if (size.Name.ToLower() == "large")
            {
                return(10.00m);
            }

            return(0m);
        }
Exemplo n.º 8
0
        private static StyleItemDTO CreateStyleItem(IUnitOfWork db,
                                                    long styleId,
                                                    SizeDTO size)
        {
            var styleItem = new StyleItem()
            {
                StyleId    = styleId,
                SizeId     = size.Id,
                Size       = size.Name,
                CreateDate = DateHelper.GetAppNowTime()
            };

            db.StyleItems.Add(styleItem);
            db.Commit();

            return(new StyleItemDTO()
            {
                StyleItemId = styleItem.Id,
                StyleId = styleItem.StyleId,
                Size = styleItem.Size,
                SizeId = styleItem.SizeId,
            });
        }
Exemplo n.º 9
0
 public async Task Update(SizeDTO obj)
 {
     var model = _mapper.Map <SizeDTO, Size>(obj);
     await UOW.SizeRepository.Update(model);
 }
Exemplo n.º 10
0
 public async Task Insert(SizeDTO obj)
 {
     var model = _mapper.Map <SizeDTO, Size>(obj);
     await UOW.SizeRepository.Insert(model);
 }
        public StyleItemDTO FindOrCreateForItem(long styleId,
                                                int itemTypeId,
                                                ItemDTO item,
                                                bool canCreate,
                                                SizeMode sizeMode,
                                                DateTime when)
        {
            var department = item.Department;

            //Step 1. Compose possible style sizes list
            var existStyleItems = GetStyleItemsByStyleIdWithBarcodes(styleId);

            var possibleSizeList = unitOfWork.SizeMappings
                                   .GetStyleSizesByItemSize(item.Size, itemTypeId)
                                   .ToList(); //NOTE: at first items with max priority

            var size = unitOfWork.Sizes.GetAllWithGroupByItemTypeAsDto(itemTypeId)
                       .FirstOrDefault(s => s.Name == item.Size);

            if (size != null) //Keep style sizes sort order (size with same size name has max priority)
            {
                possibleSizeList.Insert(0, size);
            }

            //NOTE: For BLNKT sku
            if (!possibleSizeList.Any())
            {
                if (!String.IsNullOrEmpty(item.SKU) &&
                    item.SKU.EndsWith("BLNKT", StringComparison.InvariantCultureIgnoreCase))
                {
                    var emptySize = unitOfWork.Sizes.GetAllAsDto().FirstOrDefault(s => s.Name == "OneSize");
                    if (emptySize != null)
                    {
                        possibleSizeList.Add(emptySize);
                    }
                }
            }

            //Step 2. Get/create suitable styleItem

            //NOTE: get first suitable style item BY SIZE (TODO: add condition by color)
            var suitableStyleItems = new List <StyleItem>();

            //0. Get full size equivalent
            suitableStyleItems = existStyleItems.Where(i => i.Size == item.Size).ToList();
            //1. Get using possible mappings
            if (suitableStyleItems.Count == 0 &&
                size == null)    //NOTE: use possible size list only when system haven't equal size (6 always should map to 6, 8 to 8 and e.t.c)
            {
                suitableStyleItems = existStyleItems
                                     .Where(e => possibleSizeList.Any(sl => sl.Name == e.Size))
                                     .ToList();
            }

            //If not suitable styleItem
            if (canCreate && suitableStyleItems.Count == 0)
            {
                SizeDTO betterSize = null;
                //0. Trying get equal size (max priority => min value)
                betterSize = possibleSizeList.FirstOrDefault(i => i.Name == item.Size);

                //NOTE: detect which size is better
                //1. Find by department

                if (betterSize == null)
                {
                    if (!String.IsNullOrEmpty(department))
                    {
                        foreach (var possibleSize in possibleSizeList)
                        {
                            if (!String.IsNullOrEmpty(possibleSize.Departments))
                            {
                                var sizeDepartmentList = possibleSize.Departments.Split(";, \t\r\n".ToCharArray(),
                                                                                        StringSplitOptions.RemoveEmptyEntries);
                                if (betterSize == null && //If not found yet, first match has max priority
                                    StringHelper.IsMatchWithAny(department, sizeDepartmentList))
                                {
                                    betterSize = possibleSize;
                                }
                            }
                        }
                    }
                }

                if (betterSize == null) //If can't found by department, get by max priority (i.e. first item from list)
                {
                    betterSize = possibleSizeList.FirstOrDefault();
                }

                if (sizeMode == SizeMode.DirectNaming)
                {
                    betterSize = new SizeDTO()
                    {
                        Name = item.Size,
                    };
                }

                if (betterSize != null)
                {
                    var newStyleItem = new StyleItem
                    {
                        StyleId = styleId,
                        Size    = betterSize.Name,
                        //Color=TODO:
                        SizeId = betterSize.Id > 0 ? (int?)betterSize.Id : null,

                        Quantity        = item.RealQuantity,
                        QuantitySetBy   = null,
                        QuantitySetDate = when,

                        CreateDate        = when,
                        StyleItemBarcodes = new Collection <StyleItemBarcode>()
                    };
                    Add(newStyleItem);
                    unitOfWork.Commit();

                    var styleItemHistory = new StyleItemQuantityHistory()
                    {
                        StyleItemId = newStyleItem.Id,
                        Quantity    = item.RealQuantity,
                        Type        = (int)QuantityChangeSourceType.Initial,
                        CreateDate  = when,
                    };
                    unitOfWork.StyleItemQuantityHistories.Add(styleItemHistory);
                    unitOfWork.Commit();

                    suitableStyleItems.Add(newStyleItem);
                }
            }

            var styleItemForItem = suitableStyleItems.FirstOrDefault();

            if (styleItemForItem == null &&
                existStyleItems.Count == 1 &&
                ((String.IsNullOrEmpty(item.Size) &&
                  String.IsNullOrEmpty(item.Color)) ||
                 (String.IsNullOrEmpty(existStyleItems[0].Size) &&
                  String.IsNullOrEmpty(existStyleItems[0].Color))))
            {
                styleItemForItem = existStyleItems[0];
            }

            //Step 3. Add barcode
            if (!String.IsNullOrEmpty(item.Barcode))
            {
                var isExistBarcode = suitableStyleItems.Any(si =>
                                                            si.StyleItemBarcodes != null &&
                                                            si.StyleItemBarcodes.Any(b => b.Barcode == item.Barcode));

                if (!isExistBarcode)
                {
                    if (styleItemForItem != null)
                    {
                        unitOfWork.StyleItemBarcodes.Add(new StyleItemBarcode
                        {
                            StyleItemId = styleItemForItem.Id,

                            Barcode    = item.Barcode,
                            CreateDate = when
                        });
                        unitOfWork.Commit();
                    }
                }
            }

            if (styleItemForItem != null)
            {
                return(new StyleItemDTO()
                {
                    StyleItemId = styleItemForItem.Id,
                    StyleId = styleItemForItem.StyleId,
                });
            }
            return(null);
        }
Exemplo n.º 12
0
 public async Task AddSizeAsync(SizeDTO size)
 {
     Size Size = new Size(Guid.NewGuid(), size.Name, size.Description, size.Details);
     await _sizeRepository.AddAsync(Size);
 }
        public bool CreatePizza(SizeDTO size, CrustDTO crust, SauceDTO sauce, CheeseDTO cheese, List <CheeseDTO> cheeses, List <MeatDTO> meats, List <VegetableDTO> vegetables, int quantity)
        {
            PizzaDTO pizza = new PizzaDTO {
                Size = size, Crust = crust, Sauce = sauce, Cheese = cheese, Quantity = quantity, Active = true
            };

            if (InsertPizza(pizza))
            {
                pizza = GetPizzas().Last();
                if (cheeses != null)
                {
                    foreach (var item in cheeses)
                    {
                        CheeseToppingDTO ct = new CheeseToppingDTO {
                            Cheese = item, Pizza = pizza
                        };
                        if (InsertCheeseTopping(ct))
                        {
                            continue;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                if (meats != null)
                {
                    foreach (var item in meats)
                    {
                        MeatToppingDTO mt = new MeatToppingDTO {
                            Meat = item, Pizza = pizza
                        };
                        if (InsertMeatTopping(mt))
                        {
                            continue;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                if (vegetables != null)
                {
                    foreach (var item in vegetables)
                    {
                        VegetableToppingDTO vt = new VegetableToppingDTO {
                            Vegetable = item, Pizza = pizza
                        };
                        if (InsertVegetableTopping(vt))
                        {
                            continue;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
 public bool InsertSize(SizeDTO item)
 {
     return(pssc.InsertSize(SizeMapper.MapToDAO(item)));
 }
 public bool DeleteSize(SizeDTO item)
 {
     return(pssc.DeleteSize(SizeMapper.MapToDAO(item)));
 }
 public bool ChangeSize(SizeDTO item)
 {
     return(pssc.ChangeSize(SizeMapper.MapToDAO(item)));
 }
Exemplo n.º 17
0
 private static SizeDTO GenerateDetail(SqlDataReader reader, ProductDTO product, SizeDTO size)
 {
     product.SetId(Convert.ToInt32(reader["productID"]));
     size.SetProduct(product);
     size.SetID(Convert.ToInt32(reader["sizeID"]));
     size.SetPrice(Convert.ToDecimal(reader["unitPrice"]));
     size.SetSize(Convert.ToInt32(reader["unitSize"]));
     return(size);
 }
        public RedirectToRouteResult AddToOrder(OrderDTO order, string returnUrl, int size, int crust, int sauce, int cheese, int[] cheeses, int[] meats, int[] veggies, string quantity)
        {
            if (size != 0 && crust != 0 && sauce != 0 && cheese != 0 && quantity != null)
            {
                SizeDTO             Size    = data.GetSize(size);
                CrustDTO            Crust   = data.GetCrust(crust);
                SauceDTO            Sauce   = data.GetSauce(sauce);
                CheeseDTO           Cheese  = data.GetCheese(cheese);
                List <CheeseDTO>    Cheeses = new List <CheeseDTO>();;
                List <MeatDTO>      Meats   = new List <MeatDTO>();
                List <VegetableDTO> Veggies = new List <VegetableDTO>();
                int Quantity = int.Parse(quantity);

                if (cheeses != null)
                {
                    for (int i = 0; i < cheeses.Length; i++)
                    {
                        Cheeses.Add(data.GetCheese(cheeses[i]));
                    }
                }
                else
                {
                    Cheeses = null;
                }

                if (meats != null)
                {
                    for (int i = 0; i < meats.Length; i++)
                    {
                        Meats.Add(data.GetMeat(meats[i]));
                    }
                }
                else
                {
                    Meats = null;
                }

                if (veggies != null)
                {
                    for (int i = 0; i < veggies.Length; i++)
                    {
                        Veggies.Add(data.GetVegetable(veggies[i]));
                    }
                }
                else
                {
                    Veggies = null;
                }

                if (data.CreatePizza(Size, Crust, Sauce, Cheese, Cheeses, Meats, Veggies, Quantity))
                {
                    PizzaDTO        pizza       = data.GetPizzas().Last();
                    OrderDetailsDTO orderDetail = new OrderDetailsDTO {
                        Pizza = pizza, Order = order
                    };
                    if (data.InsertOrderDetail(orderDetail))
                    {
                        return(RedirectToAction("Order", new { returnUrl }));
                    }
                }
            }
            return(RedirectToAction("Order", new { returnUrl }));
        }