public ActionResult Delete(string id, FormCollection collection)
        {
            ProductLogDetailView productLogDetailView = new ProductLogDetailView();

            productLogDetailView.ProductLogView = this.GetProductLogView(id);
            productLogDetailView.EmployeeView   = GetEmployee();

            DeleteRequest request = new DeleteRequest()
            {
                ID = Guid.Parse(id)
            };

            GeneralResponse response = this._productLogService.DeleteProductLog(request);

            if (response.success)
            {
                return(RedirectToAction("Index/" + productLogDetailView.ProductLogView.ProductID));
            }
            else
            {
                foreach (string error in response.ErrorMessages)
                {
                    ModelState.AddModelError("", error);
                }
                return(View(productLogDetailView));
            }
        }
        public ActionResult Create(string id)
        {
            ProductLogDetailView productLogDetailView = new ProductLogDetailView();

            productLogDetailView.EmployeeView = GetEmployee();

            GetRequest request = new GetRequest()
            {
                ID = Guid.Parse(id)
            };

            try
            {
                ProductView productView = new ProductView();
                productView = _productService.GetProduct(request).ProductView;

                productLogDetailView.ProductLogView             = new ProductLogView();
                productLogDetailView.ProductLogView.ProductID   = productView.ID;
                productLogDetailView.ProductLogView.ProductName = productView.ProductName;
            }
            catch (Exception ex)
            {
                throw;
            }

            return(View(productLogDetailView));
        }
        public ActionResult Edit(string id, ProductLogDetailView productLogDetailView)
        {
            productLogDetailView.EmployeeView = GetEmployee();

            if (ModelState.IsValid)
            {
                try
                {
                    EditProductLogRequest request = new EditProductLogRequest();

                    request.ID = Guid.Parse(id);
                    request.ModifiedEmployeeID = GetEmployee().ID;
                    request.Closed             = productLogDetailView.ProductLogView.Closed;
                    request.InputSerialNumber  = productLogDetailView.ProductLogView.InputSerialNumber;
                    request.LogDate            = productLogDetailView.ProductLogView.LogDate;
                    request.Note               = productLogDetailView.ProductLogView.Note;
                    request.ProductID          = productLogDetailView.ProductLogView.ProductID;
                    request.ProductSerialFrom  = productLogDetailView.ProductLogView.ProductSerialFrom;
                    request.ProductSerialTo    = productLogDetailView.ProductLogView.ProductSerialTo;
                    request.PurchaseBillNumber = productLogDetailView.ProductLogView.PurchaseBillNumber;
                    request.PurchaseDate       = productLogDetailView.ProductLogView.PurchaseDate;
                    request.PurchaseUnitPrice  = productLogDetailView.ProductLogView.PurchaseUnitPrice;
                    request.SellerName         = productLogDetailView.ProductLogView.SellerName;
                    request.TotalLine          = productLogDetailView.ProductLogView.TotalLine;
                    if (productLogDetailView.ProductLogView.IOTypeForCreate == "O")
                    {
                        request.UnitsIO = -Math.Abs(productLogDetailView.ProductLogView.UnitsIO);
                    }
                    else
                    {
                        request.UnitsIO = Math.Abs(productLogDetailView.ProductLogView.UnitsIO);
                    }

                    request.RowVersion = productLogDetailView.ProductLogView.RowVersion;

                    GeneralResponse response = this._productLogService.EditProductLog(request);

                    if (response.success)
                    {
                        return(RedirectToAction("Index/" + request.ProductID));
                    }
                    else
                    {
                        foreach (string error in response.ErrorMessages)
                        {
                            ModelState.AddModelError("", error);
                        }
                        return(View(productLogDetailView));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(productLogDetailView));
                }
            }

            return(View(productLogDetailView));
        }
        public ActionResult Delete(string id)
        {
            ProductLogDetailView productLogDetailView = new ProductLogDetailView();

            productLogDetailView.ProductLogView = this.GetProductLogView(id);
            productLogDetailView.EmployeeView   = GetEmployee();

            return(View(productLogDetailView));
        }
        public ActionResult Details(string id)
        {
            ProductLogView productLogView = this.GetProductLogView(id);

            ProductLogDetailView productLogDetailView = new ProductLogDetailView();

            productLogDetailView.ProductLogView = productLogView;
            productLogDetailView.EmployeeView   = GetEmployee();

            GetRequest getCenterRequest = new GetRequest()
            {
                ID = productLogDetailView.ProductLogView.ProductID
            };

            productLogDetailView.ProductLogView.ProductName = _productService.GetProduct(getCenterRequest).ProductView.ProductName;

            return(View(productLogDetailView));
        }
        public ActionResult Edit(string id)
        {
            ProductLogDetailView productLogDetailView = new ProductLogDetailView();

            productLogDetailView.ProductLogView = this.GetProductLogView(id);
            productLogDetailView.EmployeeView   = GetEmployee();

            productLogDetailView.ProductLogView.IOTypeForCreate = productLogDetailView.ProductLogView.UnitsIO >= 0 ? "I" : "O";
            productLogDetailView.ProductLogView.UnitsIO         = Math.Abs(productLogDetailView.ProductLogView.UnitsIO);

            GetRequest getCenterRequest = new GetRequest()
            {
                ID = productLogDetailView.ProductLogView.ProductID
            };

            productLogDetailView.ProductLogView.ProductName = _productService.GetProduct(getCenterRequest).ProductView.ProductName;

            return(View(productLogDetailView));
        }
        public ActionResult Create(ProductLogDetailView productLogDetailView)
        {
            productLogDetailView.EmployeeView = GetEmployee();

            GetRequest getCenterRequest = new GetRequest()
            {
                ID = productLogDetailView.ProductLogView.ProductID
            };

            productLogDetailView.ProductLogView.ProductName = _productService.GetProduct(getCenterRequest).ProductView.ProductName;

            if (ModelState.IsValid)
            {
                try
                {
                    AddProductLogRequestOld request = new AddProductLogRequestOld();
                    request.CreateEmployeeID  = GetEmployee().ID;
                    request.Closed            = productLogDetailView.ProductLogView.Closed;
                    request.InputSerialNumber = productLogDetailView.ProductLogView.InputSerialNumber;
                    request.LogDate           = productLogDetailView.ProductLogView.LogDate;
                    request.Note               = productLogDetailView.ProductLogView.Note;
                    request.ProductID          = productLogDetailView.ProductLogView.ProductID;
                    request.ProductSerialFrom  = productLogDetailView.ProductLogView.ProductSerialFrom;
                    request.ProductSerialTo    = productLogDetailView.ProductLogView.ProductSerialTo;
                    request.PurchaseBillNumber = productLogDetailView.ProductLogView.PurchaseBillNumber;
                    request.PurchaseDate       = productLogDetailView.ProductLogView.PurchaseDate;
                    request.PurchaseUnitPrice  = productLogDetailView.ProductLogView.PurchaseUnitPrice;
                    request.SellerName         = productLogDetailView.ProductLogView.SellerName;

                    if (productLogDetailView.ProductLogView.IOTypeForCreate == "O")
                    {
                        request.UnitsIO = -Math.Abs(productLogDetailView.ProductLogView.UnitsIO);
                    }
                    else
                    {
                        request.UnitsIO = Math.Abs(productLogDetailView.ProductLogView.UnitsIO);
                    }

                    GeneralResponse response = this._productLogService.AddProductLog(request);

                    if (response.success)
                    {
                        return(RedirectToAction("Index/" + request.ProductID));
                    }
                    else
                    {
                        foreach (string error in response.ErrorMessages)
                        {
                            ModelState.AddModelError("", error);
                        }
                        return(View(productLogDetailView));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(productLogDetailView));
                }
            }

            return(View(productLogDetailView));
        }