Exemplo n.º 1
0
        public async Task <String> CreateNewVendorLogo(vendorFileData vendorLogo)
        {
            string loginUserId = await _LoginHelper.GetLoginUserId();

            string messageDocuments        = "";
            string messageAlreadyDocuments = "";

            try
            {
                List <IFormFile> files = vendorLogo.vendorDocuments;

                foreach (var formFile in files)
                {
                    if (formFile.Length > 0)
                    {
                        awsS3Helper.UploadToS3(formFile.FileName, formFile.OpenReadStream(), S3bucket, S3folder);
                        int     ref_id          = Int32.Parse(vendorLogo.Vendor_id);
                        JObject vendorDocuments = new JObject();
                        vendorDocuments.Add("vendor_id", ref_id);
                        vendorDocuments.Add("logo", formFile.FileName);
                        await _BadgerApiHelper.GenericPutAsyncString <String>(vendorDocuments.ToString(Formatting.None), "/vendor/updatespecific/" + vendorLogo.Vendor_id);
                    }
                }

                return(messageDocuments + " \r\n " + messageAlreadyDocuments);
            }
            catch (Exception ex)
            {
                return("0");
            }
        }
Exemplo n.º 2
0
        public async Task <bool> CreateBarcode([FromBody]   JObject json)
        {
            string inserted = string.Empty;
            // Add/Update Barcode Range
            JObject bar          = new JObject();
            string  barcode_from = json.Value <string>("barcode_from");
            string  barcode_to   = json.Value <string>("barcode_to");
            string  size         = json.Value <string>("size");
            string  idStr        = json.Value <string>("id");
            string  updatedBy    = await _LoginHelper.GetLoginUserId();

            if (idStr == "")
            {
                bar.Add("created_by", Convert.ToInt32(updatedBy));
                idStr = "-1";
            }
            Int32 id = int.Parse(idStr);

            bar.Add("id", id);
            bar.Add("size", size);
            bar.Add("barcode_from", barcode_from);
            bar.Add("barcode_to", barcode_to);
            if (idStr != "-1")
            {
                bar.Add("updated_by", Convert.ToInt32(updatedBy));
                bar.Add("updated_at", _common.DateConvertToTimeStamp(DateTime.Now.ToShortDateString()));
            }
            inserted = await _BadgerApiHelper.GenericPostAsyncString <string>(bar.ToString(Formatting.None), "/barcode/createorupdate");

            return(Convert.ToBoolean(inserted));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Logout()
        {
            string user_id = await _LoginHelper.GetLoginUserId();

            if (await _LoginHelper.Logout(user_id))
            {
                return(RedirectToAction("Dologin", "Auth"));
            }
            else
            {
                return(RedirectToAction("Index", "PurchaseOrders"));
            }
        }
Exemplo n.º 4
0
        public async Task <string> UpdateAttributes([FromBody]   JObject json)
        {
            int    category_id = json.Value <Int32>("category_id");
            JArray added       = json.Value <JArray>("tag_added");
            JArray newAdded    = new JArray();
            List <CategoryOptions> categories = new List <CategoryOptions>();
            string updatedBy = await _LoginHelper.GetLoginUserId();

            foreach (var item in added)
            {
                JObject cat = new JObject();
                cat.Add("attribute_id", Convert.ToInt32(item.Value <Int32>()));
                cat.Add("category_id", category_id);
                cat.Add("created_by", Convert.ToInt32(updatedBy));
                cat.Add("updated_by", Convert.ToInt32(updatedBy));
                cat.Add("created_at", _common.GetTimeStemp());
                newAdded.Add(cat);
            }
            string insert_status = "True";

            if (added.Count > 0)
            {
                insert_status = await _BadgerApiHelper.GenericPostAsyncString <string>(newAdded.ToString(Formatting.None), "/CategoryOption/createCategoryOption");
            }
            JArray removed    = json.Value <JArray>("tag_removed");
            JArray newRemoved = new JArray();

            foreach (var item in removed)
            {
                JObject cat = new JObject();
                cat.Add("attribute_id", Convert.ToInt32(item.Value <Int32>()));
                cat.Add("category_id", category_id);
                newRemoved.Add(cat);
            }
            string delete_status = "True";

            if (newRemoved.Count > 0)
            {
                delete_status = await _BadgerApiHelper.GenericPostAsyncString <string>(newRemoved.ToString(Formatting.None), "/CategoryOption/deleteCategoryOption");
            }
            if (insert_status.ToLower() == "true" && delete_status.ToLower() == "true")
            {
                return("true");
            }
            else
            {
                return("false");
            }
        }
Exemplo n.º 5
0
        public async Task <string> addProductInPhotoshoot(int photoshoot_id, [FromBody] PhotoshootWithItems photoshoot)
        {
            string user_id = await _ILoginHelper.GetLoginUserId();

            var assignPhotoshoot = new ProductPhotoshoots();

            assignPhotoshoot.photoshoot_id           = photoshoot_id;
            assignPhotoshoot.product_shoot_status_id = 1;
            assignPhotoshoot.updated_by = int.Parse(user_id);
            assignPhotoshoot.updated_at = _common.GetTimeStemp();
            assignPhotoshoot.products   = photoshoot.products;
            assignPhotoshoot.items      = photoshoot.items;
            // await _BadgerApiHelper.PostAsync<string>(photoshoot.items, "/photoshoots/bulkupdatebarcode");
            var AssignPhotoshootStatus = await _BadgerApiHelper.PostAsync <string>(assignPhotoshoot, "/photoshoots/StartProductPhotoshoot");

            return(AssignPhotoshootStatus);
        }
Exemplo n.º 6
0
        public async Task <string> UpdateAttributes([FromBody]   JObject json, int productId)
        {
            JArray product_subtype_ids = new JArray();
            string user_id             = await _LoginHelper.GetLoginUserId();

            List <Fabric> _fabrics = new List <Fabric>();
            JObject       product  = new JObject();

            product.Add("size_and_fit_id", json.Value <string>("size_fit"));
            product.Add("product_retail", json.Value <string>("product_retail"));
            product.Add("product_name", json.Value <string>("product_name"));
            product.Add("product_cost", json.Value <string>("product_cost"));
            product.Add("product_discount", json.Value <string>("product_discount"));
            product.Add("product_detail_1", json.Value <string>("product_detail_1"));
            product.Add("product_detail_2", json.Value <string>("product_detail_2"));
            product.Add("product_detail_3", json.Value <string>("product_detail_3"));
            product.Add("product_detail_4", json.Value <string>("product_detail_4"));
            product.Add("is_ready", json.Value <bool>("is_ready"));
            product.Add("pairProductIds", json.Value <string>("pairProductIds"));
            product.Add("RemovePairWithProductIds", json.Value <string>("RemovePairWithProductIds"));
            product.Add("otherColorsProductIds", json.Value <string>("otherColorsProductIds"));
            product.Add("RemoveOtherColorProductIds", json.Value <string>("RemoveOtherColorProductIds"));


            product.Add("photoshootStatus", json.Value <string>("photoshootStatus"));
            product.Add("photoshootStatusOld", json.Value <string>("photoshootStatusOld"));

            product.Add("updated_by", user_id);
            product.Add("updated_at", _common.GetTimeStemp());

            _fabrics = json.Value <JArray>("fabricArray").ToObject <List <Fabric> >();


            string returnStatus = await _BadgerApiHelper.GenericPutAsyncString <string>(product.ToString(Formatting.None), "/Product/UpdateAttributes/" + productId.ToString());

            if (json["product_subtype_ids"] != null)
            {
                product_subtype_ids = (JArray)json["product_subtype_ids"];
            }
            for (int i = 0; i < product_subtype_ids.Count(); i++)
            {
                string category_id = product_subtype_ids[i].Value <string>("category_id");
                string action      = product_subtype_ids[i].Value <string>("action");

                JObject productCategories = new JObject();
                productCategories.Add("product_id", productId);
                productCategories.Add("category_id", category_id);
                productCategories.Add("action", action);
                productCategories.Add("created_by", user_id);
                productCategories.Add("created_at", _common.GetTimeStemp());

                var temp_product_category_id = await _BadgerApiHelper.GenericPostAsyncString <String>(productCategories.ToString(Formatting.None), "/product/UpdateProductCategory");
            }
            string sku         = "";
            string tagAddedIds = json.Value <string>("tagAddedIds");

            if (tagAddedIds != "")
            {
                int countComma = tagAddedIds.Count(c => c == ',');
                if (countComma > 0)
                {
                    var ids = tagAddedIds.Split(",");
                    foreach (var tagId in ids)
                    {
                        JObject product_attr = new JObject();
                        Int16   attribute_id = Int16.Parse(tagId);

                        product_attr.Add("attribute_id", attribute_id);
                        product_attr.Add("product_id", productId);
                        product_attr.Add("value", "");

                        product_attr.Add("created_by", user_id);
                        product_attr.Add("created_at", _common.GetTimeStemp());
                        String attr_value_id = await _BadgerApiHelper.GenericPostAsyncString <String>(product_attr.ToString(Formatting.None), "/attributevalues/create");


                        JObject product_attr_value = new JObject();
                        product_attr_value.Add("product_id", productId);
                        product_attr_value.Add("attribute_id", attribute_id);
                        product_attr_value.Add("value_id", attr_value_id);

                        product_attr_value.Add("created_by", user_id);
                        // product_attr_value.Add("created_at", _common.GetTimeStemp()); need to create in DB
                        String product_attribute_value_id = await _BadgerApiHelper.GenericPostAsyncString <String>(product_attr_value.ToString(Formatting.None), "/product/createAttributesValues");

                        JObject product_attribute_obj = new JObject();
                        product_attribute_obj.Add("product_id", productId);
                        product_attribute_obj.Add("attribute_id", attribute_id);
                        product_attribute_obj.Add("value_id", attr_value_id);
                        product_attribute_obj.Add("sku", sku);

                        product_attribute_obj.Add("created_by", user_id);
                        //product_attribute_obj.Add("created_at", _common.GetTimeStemp()); need to create in DB
                        String product_attribute_id = await _BadgerApiHelper.GenericPostAsyncString <String>(product_attribute_obj.ToString(Formatting.None), "/product/createProductAttribute");
                    }
                }
                else
                {
                }
            }
            if (_fabrics.Count() > 0)
            {
                await _ProductHelper.UpdateFabric(_fabrics, int.Parse(user_id));
            }



            if (json.Value <string>("photoshootStatus") != json.Value <string>("photoshootStatusOld"))
            {
                JObject photoshoot = new JObject();
                photoshoot.Add("product_shoot_status_id", json.Value <string>("photoshootStatus"));
                photoshoot.Add("updated_by", user_id);
                photoshoot.Add("updated_at", _common.GetTimeStemp());
                await _BadgerApiHelper.GenericPutAsyncString <string>(photoshoot.ToString(Formatting.None), "/Photoshoots/UpdatePhotoshootProductStatus/" + productId.ToString());
            }

            if (json.Value <string>("oldInternalNotes") != json.Value <string>("internalNotes"))
            {
                JObject productNote = new JObject();
                productNote.Add("ref_id", productId);
                productNote.Add("note", json.Value <string>("internalNotes"));
                productNote.Add("created_by", Int32.Parse(user_id));

                await _BadgerApiHelper.GenericPostAsyncString <String>(productNote.ToString(Formatting.None), "/product/notecreate");
            }
            return("success");
        }
Exemplo n.º 7
0
        public async Task <String> CreateNewStyle([FromBody]   JObject json)
        {
            int user_id = Int32.Parse(await _ILoginHelper.GetLoginUserId());

            String product_id = "";

            JObject product       = new JObject();
            JObject vendorProduct = new JObject();

            JObject allData = JObject.Parse(json.ToString());

            JArray vendor_style_sku_data = new JArray();
            JArray product_subtype_ids   = new JArray();

            if (allData["vendor_style_sku"] != null)
            {
                vendor_style_sku_data = (JArray)allData["vendor_style_sku"];
            }

            if (allData["product_subtype_ids"] != null)
            {
                product_subtype_ids = (JArray)allData["product_subtype_ids"];
            }



            Int32  product_id_current = json.Value <Int32>("product_id");
            Int32  po_id            = json.Value <Int32>("po_id");
            Int32  vendor_id        = json.Value <Int32>("vendor_id");
            string product_name     = json.Value <string>("product_name");
            bool   IsLineItemExists = json.Value <bool>("IsLineItemExists");
            bool   UpdateVendorType = json.Value <bool>("UpdateVendorType");
            string first_sku_family = json.Value <string>("sku_family");


            string vendor_color_name  = json.Value <string>("vendor_color_name");
            string product_cost       = json.Value <string>("product_cost");
            string product_name_no    = json.Value <string>("product_name_no");
            string product_color_code = json.Value <string>("product_color_code");

            string product_retail     = json.Value <string>("product_retail");
            string product_url_handle = product_name.Replace(' ', '-').ToLower();
            string product_type_id    = json.Value <string>("product_type_id");



            //default values FIXED hardcoded

            int    size_and_fit_id     = 0;
            int    wash_type_id        = 0;
            int    product_discount    = 20;
            int    published_status    = 0;
            int    is_on_site_status   = 0;
            String attr_value_id_color = "15"; // blank entry for color
            int    color_attribute_id  = 1;    // color attribute id


            // item insert default values
            string item_status_id = "1"; // Not Recieved

            int ra_status   = 0;
            int barcode     = 0;
            int slot_number = 0;
            int bag_code    = 0;



            product.Add("vendor_id", vendor_id);
            product.Add("product_name", product_name);
            product.Add("vendor_color_name", vendor_color_name);
            product.Add("product_cost", product_cost);
            product.Add("product_retail", product_retail);
            product.Add("product_url_handle", product_url_handle);
            product.Add("product_type_id", product_type_id);

            product.Add("product_description", "");
            product.Add("sku_family", first_sku_family);
            product.Add("size_and_fit_id", size_and_fit_id);
            product.Add("wash_type_id", wash_type_id);
            product.Add("product_discount", product_discount);
            product.Add("published_status", published_status);
            product.Add("is_on_site_status", is_on_site_status);

            product.Add("created_by", user_id);
            product.Add("created_at", _common.GetTimeStemp());
            product.Add("po_id", po_id.ToString());


            vendorProduct.Add("vendor_id", vendor_id);
            vendorProduct.Add("vendor_color_code", product_color_code);
            vendorProduct.Add("vendor_color_name", vendor_color_name);
            vendorProduct.Add("vendor_product_code", product_name_no);
            vendorProduct.Add("vendor_product_name", product_name);
            vendorProduct.Add("created_by", user_id);
            vendorProduct.Add("created_at", _common.GetTimeStemp());


            if (product_id_current > 0)
            {
                product_id = product_id_current.ToString(); //update on selected product id

                // add new product in product table
                var a = await _BadgerApiHelper.GenericPutAsyncString <String>(product.ToString(Formatting.None), "/product/updatespecific/" + product_id);

                if (!string.IsNullOrEmpty(product_id))
                {   //update vendor product
                    vendorProduct.Add("product_id", Convert.ToInt64(product_id));
                    var result = await _BadgerApiHelper.GenericPutAsyncString <String>(vendorProduct.ToString(Formatting.None), "/vendor/vendorproductUpdatespecific");
                }
            }
            else
            {
                try
                {
                    // add new product in product table
                    product_id = await _BadgerApiHelper.GenericPostAsyncString <String>(product.ToString(Formatting.None), "/product/create");

                    if (!string.IsNullOrEmpty(product_id))
                    {
                        vendorProduct.Add("product_id", Convert.ToInt64(product_id));
                        // add new vendor product in vendor product table
                        var temp_product_id = await _BadgerApiHelper.GenericPostAsyncString <String>(vendorProduct.ToString(Formatting.None), "/vendor/createvendorproduct");
                    }
                }
                catch (Exception ex)
                {
                    var logger = _loggerFactory.CreateLogger("internal_error_log");
                    logger.LogInformation("Problem happened in making new Product, no product id genrated ");
                }
            }

            if (UpdateVendorType)
            {
                JObject _vendor = new JObject();
                _vendor.Add("vendor_type", 3);
                _vendor.Add("updated_by", user_id);
                _vendor.Add("updated_at", _common.GetTimeStemp());

                String vendorStatus = await _BadgerApiHelper.GenericPutAsyncString <String>(_vendor.ToString(Formatting.None), "/vendor/updatespecific/" + vendor_id.ToString());
            }

            if (Int32.Parse(product_id) > 1)
            {
                JObject productPhotoshoot = new JObject();
                productPhotoshoot.Add("photoshoot_id", 0);
                productPhotoshoot.Add("product_id", product_id);
                productPhotoshoot.Add("product_shoot_status_id", 0);
                productPhotoshoot.Add("updated_by", 0);
                productPhotoshoot.Add("updated_at", 0);
                productPhotoshoot.Add("created_by", user_id);
                productPhotoshoot.Add("created_at", _common.GetTimeStemp());
                await _BadgerApiHelper.GenericPostAsyncString <String>(productPhotoshoot.ToString(Formatting.None), "/photoshoots/addNewPhotoshootProduct");

                String product_attribute_value_id_color = await _productHelper.createProductAttributesValuesAsync(Int32.Parse(product_id), color_attribute_id, int.Parse(attr_value_id_color));

                String product_attribute_id_color = await _productHelper.createProductAttributesAsync(Int32.Parse(product_id), color_attribute_id, "", product_attribute_value_id_color);



                JObject used_in_obj = new JObject();
                used_in_obj.Add("product_id", product_id);
                used_in_obj.Add("po_id", po_id);
                used_in_obj.Add("created_at", _common.GetTimeStemp());
                String used_in_id = await _BadgerApiHelper.GenericPostAsyncString <String>(used_in_obj.ToString(Formatting.None), "/product/createUsedIn");
            }

            for (int i = 0; i < product_subtype_ids.Count(); i++)
            {
                string category_id = product_subtype_ids[i].Value <string>("category_id");
                string action      = product_subtype_ids[i].Value <string>("action");

                JObject productCategories = new JObject();
                productCategories.Add("product_id", product_id);
                productCategories.Add("category_id", category_id);
                productCategories.Add("action", action);
                productCategories.Add("created_by", user_id);
                productCategories.Add("created_at", _common.GetTimeStemp());

                var temp_product_category_id = await _BadgerApiHelper.GenericPostAsyncString <String>(productCategories.ToString(Formatting.None), "/product/UpdateProductCategory");
            }

            //Checking If line items need to be deleted and is it a possibility to delete line items , if not - stop everything and return
            if (IsLineItemExists)
            {
                var OldSkuList = vendor_style_sku_data.Where(x => x.Value <bool>("IsNewSku") == false && x.Value <int>("style_qty") < x.Value <int>("original_qty")).ToList();
                for (int i = 0; i < OldSkuList.Count; i++)
                {
                    string sku       = OldSkuList[i].Value <string>("style_sku");
                    int    style_qty = vendor_style_sku_data[i].Value <int>("style_qty");
                    var    itemCount = await _BadgerApiHelper.GenericGetsAsync("/product/getitems/" + po_id + "/" + sku);

                    if (int.Parse(itemCount) < style_qty)
                    {
                        // -3 for indicating error in javascript : cannot decrease quantity of sku.
                        return("-3");
                    }
                }
            }
            else
            {
                var newSkus = vendor_style_sku_data.Where(x => x.Value <bool>("IsNewSku") == true).ToList();
                for (int i = 0; i < newSkus.Count; i++)
                {
                    string sku = newSkus[i].Value <string>("style_sku");

                    bool SkuFound = await _BadgerApiHelper.GenericGetAsync <Boolean>("/Sku/checkskuexist/" + sku);

                    if (SkuFound)
                    {
                        // -4 for indicating error in javascript : sku already exists.
                        return("-4");
                    }
                }
            }


            for (int i = 0; i < vendor_style_sku_data.Count; i++)
            {
                string style_vendor_size = vendor_style_sku_data[i].Value <string>("style_vendor_size");
                string style_size        = vendor_style_sku_data[i].Value <string>("style_size");
                string style_qty         = vendor_style_sku_data[i].Value <string>("style_qty");
                string sku          = vendor_style_sku_data[i].Value <string>("style_sku");
                bool   IsNewSku     = vendor_style_sku_data[i].Value <bool>("IsNewSku");
                int    original_qty = vendor_style_sku_data[i].Value <int>("original_qty");

                string sku_family = json.Value <string>("sku_family");


                Int16 attribute_id = Int16.Parse(style_size);

                String attr_value_id = await _productHelper.createProductAttributesAsync(Int32.Parse(product_id), attribute_id, style_vendor_size, user_id, _common.GetTimeStemp());

                String product_attribute_value_id = await _productHelper.createProductAttributesValuesAsync(Int32.Parse(product_id), attribute_id, int.Parse(attr_value_id));

                String product_attribute_id = await _productHelper.createProductAttributesAsync(Int32.Parse(product_id), attribute_id, sku, attr_value_id);


                //// size attribute ends here



                JObject Sku_obj = new JObject();
                Sku_obj.Add("sku", sku);
                Sku_obj.Add("vendor_id", vendor_id);
                Sku_obj.Add("product_id", Int32.Parse(product_id));
                String sku_id = await _BadgerApiHelper.GenericPostAsyncString <String>(Sku_obj.ToString(Formatting.None), "/sku/create");

                JObject lineitem_obj = new JObject();
                lineitem_obj.Add("po_id", po_id);
                lineitem_obj.Add("vendor_id", vendor_id);
                lineitem_obj.Add("sku", sku);
                lineitem_obj.Add("product_id", Int32.Parse(product_id));
                lineitem_obj.Add("line_item_cost", product_cost);
                lineitem_obj.Add("line_item_retail", product_retail);
                lineitem_obj.Add("line_item_type_id", product_type_id);
                lineitem_obj.Add("line_item_ordered_quantity", style_qty);
                lineitem_obj.Add("IsQtyIncreased", int.Parse(style_qty) < original_qty ? false : true);
                lineitem_obj.Add("originalQty", original_qty);

                JObject items = new JObject();
                items.Add("barcode", barcode);               // 0
                items.Add("slot_number", slot_number);       // 0
                items.Add("bag_code", bag_code);             // 0
                items.Add("item_status_id", item_status_id); // 1
                items.Add("ra_status", ra_status);           // 0
                items.Add("sku", sku);
                items.Add("sku_id", sku_id);
                items.Add("sku_family", sku_family);
                items.Add("product_id", product_id);
                items.Add("vendor_id", vendor_id);
                items.Add("PO_id", po_id);
                items.Add("original_qty", original_qty);


                if (!IsLineItemExists || IsNewSku)
                {
                    //for item when they are created
                    items.Add("created_at", _common.GetTimeStemp());
                    items.Add("created_by", user_id);
                    //for po line item when they are created
                    lineitem_obj.Add("created_by", user_id);
                    lineitem_obj.Add("created_at", _common.GetTimeStemp());

                    String item_id = await _BadgerApiHelper.GenericPostAsyncString <String>(items.ToString(Formatting.None), "/product/createitems/" + style_qty);

                    String line_item_id = await _BadgerApiHelper.GenericPostAsyncString <String>(lineitem_obj.ToString(Formatting.None), "/product/createLineitems");
                }
                else
                {
                    //for item when they are updated
                    items.Add("updated_at", _common.GetTimeStemp());
                    items.Add("updated_by", user_id);
                    //for po line item when they are updated
                    lineitem_obj.Add("updated_by", user_id);
                    lineitem_obj.Add("updated_at", _common.GetTimeStemp());

                    int _style_qty = int.Parse(style_qty);
                    if (original_qty != _style_qty)
                    {
                        //Adding new items in existing Line items
                        String item_id = await _BadgerApiHelper.GenericPostAsyncString <String>(items.ToString(Formatting.None), "/product/updateitems/" + style_qty);

                        String line_item_id = await _BadgerApiHelper.GenericPostAsyncString <String>(lineitem_obj.ToString(Formatting.None), "/product/updateLineitems");
                    }
                }
            }
            return(product_id);
        }