Esempio n. 1
0
        public IEnumerable <InvProduct> GetProductByAll(InvProduct _objprd, string searchOperator)
        {
            var product = new List <InvProduct>();

            try
            {
                if (searchOperator.ToUpper() == "AND")
                {
                    if (_objprd.ProductKey != 0 && !string.IsNullOrEmpty(_objprd.Description))
                    {
                        product = (from c in _dbContext.Product
                                   where Convert.ToString(c.ProductKey).StartsWith(Convert.ToString(_objprd.ProductKey)) && (c.Description.StartsWith(_objprd.Description))
                                   select c).ToList();
                    }
                }
                else if (searchOperator.ToUpper() == "OR")
                {
                    if (_objprd.ProductKey != 0 || !string.IsNullOrEmpty(_objprd.Description))
                    {
                        product = (from c in _dbContext.Product
                                   where Convert.ToString(c.ProductKey).StartsWith(Convert.ToString(_objprd.ProductKey)) || (c.Description.StartsWith(_objprd.Description))
                                   select c).ToList();
                    }
                }
            }

            catch (Exception exp)
            {
                throw exp;
            }

            return(product);
        }
Esempio n. 2
0
        public List <InvProduct> getList()
        {
            List <InvProduct> products = new List <InvProduct>();
            string            sql      = "Select * From Inv_Products";
            DataTable         dt       = DataAccess.ExecuteSQLQuery(sql);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                InvProduct product = new InvProduct();
                product.ID               = Convert.ToInt32(dt.Rows[0]["ID"].ToString());
                product.Name             = dt.Rows[0]["Name"].ToString();
                product.SerialNumber     = dt.Rows[0]["SerialNumber"].ToString();
                product.StockAmount      = Convert.ToInt32(dt.Rows[0]["StockAmount"].ToString());
                product.Cost             = Convert.ToDouble(dt.Rows[0]["Cost"].ToString());
                product.Price            = Convert.ToDouble(dt.Rows[0]["Price"].ToString());
                product.Barcode          = dt.Rows[0]["Barcode"].ToString();;
                product.Category         = Convert.ToInt32(dt.Rows[0]["Category"].ToString());
                product.Active           = Convert.ToInt32(dt.Rows[0]["Active"].ToString());
                product.CreationDate     = Convert.ToDateTime(dt.Rows[0]["CreationDate"].ToString());
                product.LastModifiedDate = Convert.ToDateTime(dt.Rows[0]["LastModifiedDate"].ToString());
                product.OperatorID       = Convert.ToInt32(dt.Rows[0]["OperatorID"].ToString());
                products.Add(product);
            }
            return(products);
        }
 public IActionResult  CreateProduct([FromBody] InvProduct Product)
 {
     if (ModelState.IsValid)
     {
         var result = _repository.CreateProduct(Product);
         return(result);
     }
     else
     {
         return(new HttpStatusCodeResult((int)HttpStatusCode.BadRequest));
     }
 }
 public IActionResult UpdateProductDetails(long productKey, [FromBody] InvProduct Product)
 {
     if (ModelState.IsValid)
     {
         var result = _repository.UpdateProduct(productKey, Product);
         return(result);
     }
     else
     {
         return(new HttpStatusCodeResult((int)HttpStatusCode.BadRequest));
     }
 }
 public string CreateProduct(InvProduct _objProduct)
 {
     try
     {
         _dbContext.Product.Add(_objProduct);
         _dbContext.SaveChanges();
         return(HttpStatusCode.Created.ToString());
     }
     catch (Exception exp)
     {
         throw exp;
     }
 }
Esempio n. 6
0
 public IActionResult CreateProduct(InvProduct _objProduct)
 {
     try
     {
         _dbContext.Product.Add(_objProduct);
         _dbContext.SaveChanges();
         return(new HttpStatusCodeResult((int)HttpStatusCode.Created));
     }
     catch (Exception exp)
     {
         throw exp;
     }
 }
        public InvProduct GetProductById(string Id)
        {
            InvProduct product = new InvProduct();

            try
            {
                product = _dbContext.Product.Where(p => p.Id == Id).FirstOrDefault();
            }
            catch (Exception exp)
            {
                throw exp;
            }
            return(product);
        }
Esempio n. 8
0
        public string CreateProduct(InvProduct _objProduct)
        {
            string returnResult = null;

            try
            {
                returnResult = UpdateItem(_objProduct, CREATE_PRODUCT);
            }
            catch
            {
                return(null);
            }

            return(returnResult);
        }
Esempio n. 9
0
        public int insert(InvProduct product)
        {
            SqlParameter[] param = new SqlParameter[12];
            param[0]  = DataAccess.AddParamter("@Name", product.Name, SqlDbType.NVarChar, 500);
            param[1]  = DataAccess.AddParamter("@SerialNumber", product.SerialNumber, SqlDbType.NVarChar, 500);
            param[2]  = DataAccess.AddParamter("@StockAmount", product.StockAmount, SqlDbType.Int, 50);
            param[3]  = DataAccess.AddParamter("@Cost", product.Cost, SqlDbType.Float, 50);
            param[4]  = DataAccess.AddParamter("@Price", product.Price, SqlDbType.Float, 50);
            param[5]  = DataAccess.AddParamter("@Barcode", product.Barcode, SqlDbType.NVarChar, 500);
            param[6]  = DataAccess.AddParamter("@Category", product.Category, SqlDbType.Int, 50);
            param[7]  = DataAccess.AddParamter("@Active", product.Active, SqlDbType.Int, 50);
            param[8]  = DataAccess.AddParamter("@CreationDate", DateTime.Now, SqlDbType.DateTime, 50);
            param[9]  = DataAccess.AddParamter("@LastModifiedDate", DateTime.Now, SqlDbType.DateTime, 50);
            param[10] = DataAccess.AddParamter("@OperatorID", product.OperatorID, SqlDbType.Int, 50);
            param[11] = DataAccess.AddParamter("@LowQuantity", product.LowQuantity, SqlDbType.Int, 50);
            string sql = "Insert Into Inv_Products(Name,SerialNumber,StockAmount,Cost,Price,Barcode,Category,Active,CreationDate,LastModifiedDate,OperatorID,LowQuantity) Values (@Name,@SerialNumber,@StockAmount,@Cost,@Price,@Barcode,@Category,@Active,@CreationDate,@LastModifiedDate,@OperatorID,@LowQuantity)";
            int    res = DataAccess.ExecuteSQLNonQuery(sql, param);

            if (res > 0)
            {
                sql = "select max(id)as lastID from Inv_Products";
                DataTable dt = DataAccess.ExecuteSQLQuery(sql);
                if (dt != null && dt.Rows != null && dt.Rows.Count > 0)
                {
                    int id = int.Parse(dt.Rows[0]["lastID"].ToString());
                    for (int i = 0; i < product.productWatehouse.Count; i++)
                    {
                        SqlParameter[] param2 = new SqlParameter[10];
                        param2[0] = DataAccess.AddParamter("@ProductID", id, SqlDbType.Int, 50);
                        param2[1] = DataAccess.AddParamter("@WarehouseID", product.productWatehouse[i].WarehouseID, SqlDbType.Int, 50);
                        param2[2] = DataAccess.AddParamter("@Active", product.productWatehouse[i].Active, SqlDbType.Int, 50);
                        param2[3] = DataAccess.AddParamter("@Quantity", product.productWatehouse[i].Quantity, SqlDbType.Int, 50);
                        param2[4] = DataAccess.AddParamter("@Cost", product.productWatehouse[i].Cost, SqlDbType.Float, 50);
                        param2[5] = DataAccess.AddParamter("@Price", product.productWatehouse[i].Price, SqlDbType.Float, 50);
                        param2[6] = DataAccess.AddParamter("@Barcode", product.productWatehouse[i].Barcode, SqlDbType.NVarChar, 500);
                        param2[7] = DataAccess.AddParamter("@LastModifiedDate", DateTime.Now, SqlDbType.DateTime, 50);
                        param2[8] = DataAccess.AddParamter("@OperatorID", product.OperatorID, SqlDbType.Int, 50);
                        param2[9] = DataAccess.AddParamter("@CreationDate", DateTime.Now, SqlDbType.DateTime, 50);
                        sql       = "Insert Into Inv_ProductWearhous (ProductID,WarehouseID,Active,Quantity,Cost,Price,Barcode,CreationDate,LastModifiedDate,OperatorID) Values (@ProductID,@WarehouseID,@Active,@Quantity,@Cost,@Price,@Barcode,@CreationDate,@LastModifiedDate,@OperatorID)";
                        DataAccess.ExecuteSQLNonQuery(sql, param2);
                    }
                }
            }
            return(res);
        }
Esempio n. 10
0
        public int update(int id, InvProduct product)
        {
            SqlParameter[] param = new SqlParameter[12];
            param[0]  = DataAccess.AddParamter("@Name", product.Name, SqlDbType.NVarChar, 500);
            param[1]  = DataAccess.AddParamter("@SerialNumber", product.SerialNumber, SqlDbType.NVarChar, 500);
            param[2]  = DataAccess.AddParamter("@StockAmount", product.StockAmount, SqlDbType.Int, 50);
            param[3]  = DataAccess.AddParamter("@Cost", product.Cost, SqlDbType.Float, 50);
            param[4]  = DataAccess.AddParamter("@Price", product.Price, SqlDbType.Float, 50);
            param[5]  = DataAccess.AddParamter("@Barcode", product.Barcode, SqlDbType.NVarChar, 500);
            param[6]  = DataAccess.AddParamter("@Category", product.Category, SqlDbType.Int, 50);
            param[7]  = DataAccess.AddParamter("@Active", product.Active, SqlDbType.Int, 50);
            param[8]  = DataAccess.AddParamter("@ID", id, SqlDbType.Int, 50);
            param[9]  = DataAccess.AddParamter("@LastModifiedDate", DateTime.Now, SqlDbType.DateTime, 50);
            param[10] = DataAccess.AddParamter("@OperatorID", product.OperatorID, SqlDbType.Int, 50);
            param[11] = DataAccess.AddParamter("@LowQuantity", product.LowQuantity, SqlDbType.Int, 50);
            string sql = "Update Inv_Products Set Name=@Name,SerialNumber=@SerialNumber,StockAmount=@StockAmount,Cost=@Cost,Price=@Price,Barcode=@Barcode,Category=@Category,Active=@Active,LastModifiedDate=@LastModifiedDate,OperatorID=@OperatorID,LowQuantity=@LowQuantity Where ID=@ID";
            int    res = DataAccess.ExecuteSQLNonQuery(sql, param);

            if (res > 0)
            {
                sql = "Delete From Inv_ProductWearhous Where ProductID=" + id.ToString();
                DataAccess.ExecuteSQLNonQuery(sql);
                // int id = int.Parse(dt.Rows[0]["lastID"].ToString());
                for (int i = 0; i < product.productWatehouse.Count; i++)
                {
                    SqlParameter[] param2 = new SqlParameter[10];
                    param2[0] = DataAccess.AddParamter("@ProductID", id, SqlDbType.Int, 50);
                    param2[1] = DataAccess.AddParamter("@WarehouseID", product.productWatehouse[i].WarehouseID, SqlDbType.Int, 50);
                    param2[2] = DataAccess.AddParamter("@Active", product.productWatehouse[i].Active, SqlDbType.Int, 50);
                    param2[3] = DataAccess.AddParamter("@Quantity", product.productWatehouse[i].Quantity, SqlDbType.Int, 50);
                    param2[4] = DataAccess.AddParamter("@Cost", product.productWatehouse[i].Cost, SqlDbType.Float, 50);
                    param2[5] = DataAccess.AddParamter("@Price", product.productWatehouse[i].Price, SqlDbType.Float, 50);
                    param2[6] = DataAccess.AddParamter("@Barcode", product.productWatehouse[i].Barcode, SqlDbType.NVarChar, 500);
                    param2[7] = DataAccess.AddParamter("@LastModifiedDate", DateTime.Now, SqlDbType.DateTime, 50);
                    param2[8] = DataAccess.AddParamter("@OperatorID", product.OperatorID, SqlDbType.Int, 50);
                    param2[9] = DataAccess.AddParamter("@CreationDate", DateTime.Now, SqlDbType.DateTime, 50);
                    sql       = "Insert Into Inv_ProductWearhous (ProductID,WarehouseID,Active,Quantity,Cost,Price,Barcode,CreationDate,LastModifiedDate,OperatorID) Values (@ProductID,@WarehouseID,@Active,@Quantity,@Cost,@Price,@Barcode,@CreationDate,@LastModifiedDate,@OperatorID)";
                    DataAccess.ExecuteSQLNonQuery(sql, param2);
                }
            }
            return(res);
        }
Esempio n. 11
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            InvProduct product = new InvProduct();

            product.Name         = txtName.Text;
            product.SerialNumber = txtSerialNum.Text;
            product.Cost         = Convert.ToDouble(txtCost.Text);
            product.Price        = Convert.ToDouble(txtPrice.Text);
            product.Barcode      = txtBarcode.Text;
            product.Category     = Convert.ToInt32(ddlCategory.SelectedValue.ToString());
            product.Active       = 1;
            HttpCookie myCookie = Request.Cookies["user"];

            product.OperatorID  = Convert.ToInt32(myCookie.Values["userid"].ToString());
            product.LowQuantity = Convert.ToInt32(txtLowQuantity.Text);
            DataTable dt = Session["ProductWarehouse"] as DataTable;
            List <ProductWatehouse> productWarehouses = new List <ProductWatehouse>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ProductWatehouse productWarehouse = new ProductWatehouse();
                productWarehouse.WarehouseID = Convert.ToInt32(dt.Rows[i]["WarehouseID"].ToString());
                productWarehouse.Quantity    = Convert.ToInt32(dt.Rows[i]["Quantity"].ToString());
                productWarehouse.Cost        = Convert.ToDouble(dt.Rows[i]["Cost"].ToString());
                productWarehouse.Price       = Convert.ToDouble(dt.Rows[i]["Price"].ToString());
                productWarehouse.Barcode     = dt.Rows[i]["Barcode"].ToString();
                productWarehouse.Active      = 1;
                productWarehouses.Add(productWarehouse);
            }
            product.productWatehouse = productWarehouses;
            int res = new clsProduct().insert(product);

            if (res > 0)
            {
                Response.Redirect("~/Inventory/Products.aspx?alert=success");
            }
            else
            {
                Response.Redirect("~/Inventory/AddProduct.aspx?id=0&&alret=notpass");
            }
        }
Esempio n. 12
0
 public string UpdateProduct(long productKey, InvProduct Product)
 {
     try
     {
         var prod = _dbContext.Product.Where(p => p.ProductKey == productKey).First();
         if (prod != null)
         {
             prod.Description = Product.Description;
             prod.Created     = Product.Created;
             prod.CreatedBy   = Product.CreatedBy;
             prod.Modified    = Product.Modified;
             prod.ModifiedBy  = Product.ModifiedBy;
             prod.IsDeleted   = Product.IsDeleted;
             _dbContext.SaveChanges();
         }
         return(HttpStatusCode.OK.ToString());
     }
     catch (Exception exp)
     {
         throw exp;
     }
 }
Esempio n. 13
0
        public InvProduct get(int id)
        {
            string     sql     = "Select * From Inv_Products Where ID=" + id;
            DataTable  dt      = DataAccess.ExecuteSQLQuery(sql);
            InvProduct product = new InvProduct();

            product.ID               = id;
            product.Name             = dt.Rows[0]["Name"].ToString();
            product.SerialNumber     = dt.Rows[0]["SerialNumber"].ToString();
            product.StockAmount      = Convert.ToInt32(dt.Rows[0]["StockAmount"].ToString());
            product.Cost             = Convert.ToDouble(dt.Rows[0]["Cost"].ToString());
            product.Price            = Convert.ToDouble(dt.Rows[0]["Price"].ToString());
            product.Barcode          = dt.Rows[0]["Barcode"].ToString();;
            product.Category         = Convert.ToInt32(dt.Rows[0]["Category"].ToString());
            product.Active           = Convert.ToInt32(dt.Rows[0]["Active"].ToString());
            product.CreationDate     = Convert.ToDateTime(dt.Rows[0]["CreationDate"].ToString());
            product.LastModifiedDate = Convert.ToDateTime(dt.Rows[0]["LastModifiedDate"].ToString());
            product.OperatorID       = Convert.ToInt32(dt.Rows[0]["OperatorID"].ToString());
            sql = "SELECT dbo.Inv_ProductWearhous.ID, dbo.Inv_ProductWearhous.ProductID, dbo.Inv_ProductWearhous.WarehouseID, dbo.Inv_ProductWearhous.Active, dbo.Inv_ProductWearhous.Quantity, dbo.Inv_ProductWearhous.Cost, dbo.Inv_ProductWearhous.Price, dbo.Inv_ProductWearhous.Barcode, dbo.Inv_Warehouse.Name" +
                  " FROM dbo.Inv_ProductWearhous INNER JOIN dbo.Inv_Warehouse ON dbo.Inv_ProductWearhous.WarehouseID = dbo.Inv_Warehouse.ID" +
                  " WHERE (dbo.Inv_ProductWearhous.ProductID = " + id + ")";
            DataTable dt2 = DataAccess.ExecuteSQLQuery(sql);

            for (int i = 0; i < dt2.Rows.Count; i++)
            {
                ProductWatehouse productWatehouse = new ProductWatehouse();
                productWatehouse.ID          = Convert.ToInt32(dt2.Rows[i]["WearhouseID"].ToString());
                productWatehouse.ProductID   = Convert.ToInt32(dt2.Rows[i]["ProductID"].ToString());
                productWatehouse.WarehouseID = Convert.ToInt32(dt2.Rows[i]["WarehouseID"].ToString());
                productWatehouse.Active      = Convert.ToInt32(dt2.Rows[i]["Active"].ToString());
                productWatehouse.Quantity    = Convert.ToInt32(dt2.Rows[i]["Quantity"].ToString());
                productWatehouse.Cost        = Convert.ToInt32(dt2.Rows[i]["Cost"].ToString());
                productWatehouse.Price       = Convert.ToInt32(dt2.Rows[i]["Price"].ToString());
                productWatehouse.Barcode     = dt2.Rows[i]["Barcode"].ToString();
                product.productWatehouse.Add(productWatehouse);
            }
            return(product);
        }
Esempio n. 14
0
        public IEnumerable <InvProduct> GetProductByAll(InvProduct _objprd)
        {
            IEnumerable <InvProduct> itemList = null;

            try
            {
                using (var client = GetHttpClient())
                {
                    var response = client.GetAsync(string.Format(PRODUCT_BY_ALL, _objprd)).Result;

                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        itemList = JsonConvert.DeserializeObject <IEnumerable <InvProduct> >(result);
                    }
                }
            }
            catch
            {
                return(null);
            }

            return(itemList);
        }
Esempio n. 15
0
        public InvProduct GetProductById(string Id)
        {
            InvProduct customer = null;

            try
            {
                using (var client = GetHttpClient())
                {
                    var response = client.GetAsync(this.BaseUri + string.Format(PRODUCT_BY_ID, Id)).Result;

                    if (response.IsSuccessStatusCode)
                    {
                        var result = response.Content.ReadAsStringAsync().Result;
                        customer = JsonConvert.DeserializeObject <InvProduct>(result);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(customer);
        }
        //public ResponseModel CreateProductDetails(ProductDetailsViewModel aObj)
        //{
        //    using (var transaction = _db.Database.BeginTransaction())
        //    {
        //        try
        //        {
        //            DateTime aDate = DateTime.Now;
        //            InvProduct aProduct = new InvProduct()
        //            {
        //                ProductId = aObj.ProductId,
        //                ProductCode = aObj.ProductCode,
        //                ProductName = aObj.ProductName,
        //                ProductMainBarCode = aObj.ProductMainBarCode,
        //                ProductFactoryBarCode = aObj.ProductFactoryBarCode,
        //                ColorId = aObj.ColorId,
        //                ItemId = aObj.ItemId,
        //                SizeId = aObj.SizeId,
        //                UoMId = aObj.UoMId,
        //                MinimumStock = aObj.MinimumStock,
        //                ProductFrontImage = aObj.ProductFrontImage,
        //                ProductBackImage = aObj.ProductBackImage,
        //                CreatedDate = aObj.CreatedDate,
        //                IsActive = aObj.IsActive,

        //            };


        //            _db.InvProducts.Add(aProduct);
        //            _db.SaveChanges();

        //            if (aObj.ProductId == 0)
        //            {
        //                InvProductPrice aProductPrice = new InvProductPrice()
        //                {
        //                    ProductId = aObj.ProductId,
        //                    ProductPriceId = aObj.ProductPriceId,
        //                    CostPrice = aObj.CostPrice,
        //                    WholeSalePrice = aObj.WholeSalePrice,
        //                    RetailPrice = aObj.RetailPrice,
        //                    CreatedDate = aObj.CreatedDate,
        //                    IsActive = true

        //                };
        //                _db.InvProductPrices.Add(aProductPrice);
        //                _db.SaveChanges();
        //                transaction.Commit();
        //                return _aModel.Respons(true, "New Produc Successfully Saevd");
        //            }



        //            else
        //            {

        //                _db.InvProducts.Attach(aProduct);
        //                _db.Entry(aProduct).State=EntityState.Modified;
        //                _db.SaveChanges();


        //                var invProductPrice = _db.InvProductPrices.Find(aObj.ProductPriceId);
        //                if ((invProductPrice.CostPrice != aObj.CostPrice) ||
        //                    (invProductPrice.WholeSalePrice != aObj.WholeSalePrice) ||
        //                    (invProductPrice.RetailPrice != aObj.RetailPrice))
        //                {
        //                    invProductPrice.IsActive = false;
        //                    invProductPrice.ModifiedDate = aDate;
        //                    _db.InvProductPrices.Attach(invProductPrice);
        //                    _db.
        //                    _db.SaveChanges();
        //                }
        //            }



        //            return null;
        //        }
        //        catch (Exception)
        //        {
        //            transaction.Rollback();
        //            return _aModel.Respons(false, "Sorry! Some Error Error Happned");
        //        }
        //    }


        //}



        public ResponseModel CreateProductDetails(ProductDetailsViewModel aObj)
        {
            using (var transaction = _db.Database.BeginTransaction())
            {
                try
                {
                    DateTime   aDate    = DateTime.Now;
                    InvProduct aProduct = new InvProduct()
                    {
                        ProductId             = aObj.ProductId,
                        ProductCode           = aObj.ProductCode,
                        ProductName           = aObj.ProductName,
                        ProductMainBarCode    = aObj.ProductMainBarCode,
                        ProductFactoryBarCode = aObj.ProductFactoryBarCode,
                        ItemId            = aObj.ItemId,
                        SizeId            = aObj.SizeId,
                        ColorId           = aObj.ColorId,
                        UoMId             = aObj.UoMId,
                        MinimumStock      = aObj.MinimumStock,
                        ProductFrontImage = aObj.ProductFrontImage,
                        ProductBackImage  = aObj.ProductBackImage,

                        CreatedDate = aDate,
                        IsActive    = aObj.ProductIsActive,
                    };

                    if ((aObj.ProductId == 0)) //this is new
                    {
                        var statusProductCode =
                            _aRepository.SelectAll().Where((pc => pc.ProductCode == aObj.ProductCode));
                        var statusProductMainBarCode =
                            _aRepository.SelectAll().Where((pc => pc.ProductMainBarCode == aObj.ProductMainBarCode));
                        var statusProductFactoryBarCode =
                            _aRepository.SelectAll()
                            .Where((pc => pc.ProductFactoryBarCode == aObj.ProductFactoryBarCode));


                        if ((aObj.ProductCode == null) || (aObj.ProductMainBarCode == null) || (aObj.ProductFactoryBarCode == null) || (aObj.RetailPrice == null) || (aObj.CostPrice == null) || (aObj.WholeSalePrice == null) || (aObj.ProductCode == null))
                        {
                            return(_aModel.Respons(true, "Plese Fill All the Required Field(s)"));
                        }


                        else if (statusProductCode.Any())
                        {
                            return(_aModel.Respons(true, "Product Code Already Exist."));
                        }

                        else if (statusProductMainBarCode.Any())
                        {
                            return(_aModel.Respons(true, "Product Main Bar Code Already Exist."));
                        }

                        else if (statusProductFactoryBarCode.Any())
                        {
                            return(_aModel.Respons(true, "Product Factory Bar Code Already Exist."));
                        }



                        else if ((aObj.ProductCode != null) && (aObj.ProductMainBarCode != null) && (aObj.ProductFactoryBarCode != null) && (aObj.CostPrice != null) && (aObj.WholeSalePrice != null) &&
                                 (aObj.RetailPrice != null))

                        {
                            _db.InvProducts.Add(aProduct);
                            _db.SaveChanges();

                            InvProductPrice aProductPrice = new InvProductPrice()
                            {
                                ProductPriceId = aObj.ProductPriceId,
                                ProductId      = aProduct.ProductId,
                                CostPrice      = aObj.CostPrice,
                                WholeSalePrice = aObj.WholeSalePrice,
                                RetailPrice    = aObj.RetailPrice,
                                CreatedDate    = aDate,
                                IsActive       = true
                            };



                            _db.InvProductPrices.Add(aProductPrice);
                            _db.SaveChanges();

                            transaction.Commit();
                            return(_aModel.Respons(true, "New Product Successfully Saved"));
                        }

                        else
                        {
                            _db.SaveChanges();
                            transaction.Commit();
                            return(_aModel.Respons(true, "Failed to  Save New Product"));
                        }
                    }

                    else if ((aObj.ProductId > 0))
                    {
                        _db.InvProducts.Attach(aProduct);
                        _db.Entry(aProduct).State = EntityState.Modified;
                        _db.SaveChanges();

                        var invProduct      = _db.InvProducts.Find(aObj.ProductId);
                        var invProductPrice = _db.InvProductPrices.Find(aObj.ProductPriceId);

                        if ((aObj.ProductCode == null) || (aObj.ProductMainBarCode == null) || (aObj.ProductFactoryBarCode == null) || (aObj.RetailPrice == null) || (aObj.CostPrice == null) || (aObj.WholeSalePrice == null) || (aObj.ProductCode == null))
                        {
                            return(_aModel.Respons(true, "Plese Fill All the Required Field(s)"));
                        }


                        else if (((aObj.ProductCode == invProduct.ProductCode) && (aObj.ProductCode != null)) && (aObj.ProductMainBarCode != null) && (aObj.ProductFactoryBarCode != null) && (aObj.ProductCode != null) && (aObj.CostPrice != null) &&
                                 (aObj.WholeSalePrice != null) && (aObj.RetailPrice != null)) // During edit previous saved Product code must be same(not changed).And required fields musnt not null.
                        {
                            //start price checking logic



                            if ((invProductPrice.CostPrice != aObj.CostPrice) || (invProductPrice.WholeSalePrice != aObj.WholeSalePrice) || (invProductPrice.RetailPrice != aObj.RetailPrice))
                            {
                                //inactive previous price
                                invProductPrice.IsActive     = false;
                                invProductPrice.ModifiedDate = aDate;

                                _db.InvProductPrices.Attach(invProductPrice);
                                _db.Entry(invProductPrice).State = EntityState.Modified;
                                _db.SaveChanges();

                                //creaete new price
                                InvProductPrice aProductPrice = new InvProductPrice()
                                {
                                    ProductPriceId = aObj.ProductPriceId,
                                    ProductId      = aObj.ProductId,
                                    CostPrice      = aObj.CostPrice,
                                    WholeSalePrice = aObj.WholeSalePrice,
                                    RetailPrice    = aObj.RetailPrice,
                                    CreatedDate    = aDate,
                                    IsActive       = true
                                };

                                _db.InvProductPrices.Add(aProductPrice);
                                _db.SaveChanges();
                            }

                            transaction.Commit();
                            return(_aModel.Respons(true, "New Product Successfully Updated"));
                        }
                    }



                    else
                    {
                        transaction.Commit();
                        return(_aModel.Respons(true, "Failed to Updated a Product"));
                    }
                } // end of Try section



                catch (Exception e)
                {
                    transaction.Rollback();
                    return(_aModel.Respons(false, "Sorry! Some Error Error Happned"));
                }
            }
        }
Esempio n. 17
0
        public IEnumerable <InvProduct> GetProductDetailsByAll(string searchOperator, [FromBody] InvProduct product)
        {
            var productDetails = _repository.GetProductByAll(product, searchOperator);

            return(productDetails);
        }
Esempio n. 18
0
 public string UpdateProduct(long productKey, InvProduct Product)
 {
     throw new NotImplementedException();
 }