예제 #1
0
 public BalanceItem(OnBalance.Domain.Entities.BalanceItem x)
 {
     Id               = x.Id;
     InternalCode     = x.InternalCode;
     PosId            = x.PosId;
     Price            = x.Price;
     PriceOfRelease   = x.PriceOfRelease;
     ProductName      = x.ProductName;
     SizeName         = x.SizeName;
     Quantity         = x.Quantity;
     StatusId         = x.StatusId;
     IsChangedLocally = x.ChangedFrom.Equals('L') || x.ChangedFrom.Equals('l');
 }
예제 #2
0
        public ActionResult ChangeQuantity(int id)
        {
            bool   status   = false;
            string message  = "";
            int    quantity = 0;

            try
            {
                var dbBalance  = new EfBalanceItemRepository();
                var dbProducts = new EfProductRepository();

                var pd = dbProducts.GetDetailsById(id);
                if (pd == null)
                {
                    message = "Could not found ProductDetail";
                    ErrorFormat("Could not get ProductDetail by ID: {0}", id);
                }
                else
                {
                    var product = dbProducts.GetById(pd.ProductId);
                    if (product == null)
                    {
                        message = "Could not found Product to change quantity";
                        ErrorFormat("Could not get Product by ID: {0}", pd.ProductId);
                    }

                    var balanceItem = dbBalance.BalanceItems
                                      .Where(x => x.InternalCode == product.InternalCode)
                                      .Where(x => x.SizeName == pd.ParameterValue)
                                      .Where(x => x.PosId == product.PosId)
                                      .Where(x => x.StatusId == (byte)Status.Pending)
                                      .FirstOrDefault();

                    int dQnt = int.Parse(Request["dQnt"]);
                    if (balanceItem == null)
                    {
                        balanceItem = new OnBalance.Domain.Entities.BalanceItem();
                        balanceItem.InternalCode = product.InternalCode;
                        balanceItem.SizeName     = pd.ParameterValue;
                        balanceItem.PosId        = product.PosId;
                        balanceItem.ProductName  = product.Name;
                        balanceItem.StatusId     = (byte)Status.Pending;
                        balanceItem.Quantity     = dQnt;
                    }
                    else
                    {
                        balanceItem.Quantity += dQnt;
                    }

                    balanceItem.Price          = pd.PriceMinor / 100;
                    balanceItem.PriceOfRelease = pd.PriceReleaseMinor / 100;
                    // Locally
                    balanceItem.ChangedFrom = 'L';

                    dbBalance.Save(balanceItem);
                    dbBalance.SubmitChanges();

                    quantity = balanceItem.Quantity;
                    status   = true;
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }

            return(Json(new {
                Staus = status,
                Message = message,
                Quantity = quantity
            }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public ActionResult ChangeQuantity(int id)
        {
            bool status = false;
            string message = "";
            int quantity = 0;

            try
            {
                var dbBalance = new EfBalanceItemRepository();
                var dbProducts = new EfProductRepository();

                var pd = dbProducts.GetDetailsById(id);
                if (pd == null)
                {
                    message = "Could not found ProductDetail";
                    ErrorFormat("Could not get ProductDetail by ID: {0}", id);
                }
                else
                {

                    var product = dbProducts.GetById(pd.ProductId);
                    if (product == null)
                    {
                        message = "Could not found Product to change quantity";
                        ErrorFormat("Could not get Product by ID: {0}", pd.ProductId);
                    }

                    var balanceItem = dbBalance.BalanceItems
                        .Where(x => x.InternalCode == product.InternalCode)
                        .Where(x => x.SizeName == pd.ParameterValue)
                        .Where(x => x.PosId == product.PosId)
                        .Where(x => x.StatusId == (byte)Status.Pending)
                        .FirstOrDefault();

                    int dQnt = int.Parse(Request["dQnt"]);
                    if (balanceItem == null)
                    {
                        balanceItem = new OnBalance.Domain.Entities.BalanceItem();
                        balanceItem.InternalCode = product.InternalCode;
                        balanceItem.SizeName = pd.ParameterValue;
                        balanceItem.PosId = product.PosId;
                        balanceItem.ProductName = product.Name;
                        balanceItem.StatusId = (byte)Status.Pending;
                        balanceItem.Quantity = dQnt;
                    }
                    else
                    {
                        balanceItem.Quantity += dQnt;
                    }

                    balanceItem.Price = pd.PriceMinor / 100;
                    balanceItem.PriceOfRelease = pd.PriceReleaseMinor / 100;
                    // Locally
                    balanceItem.ChangedFrom = 'L';

                    dbBalance.Save(balanceItem);
                    dbBalance.SubmitChanges();

                    quantity = balanceItem.Quantity;
                    status = true;
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }

            return Json(new {
                Staus = status,
                Message = message,
                Quantity = quantity
            }, JsonRequestBehavior.AllowGet);
        }