Ejemplo n.º 1
0
        public List <StoreModels> GetListStores(List <string> ListOrganizationId = null, List <string> ListStoreId = null)
        {
            List <StoreModels> listStores = new List <StoreModels>();

            try
            {
                if ((ListOrganizationId != null && ListOrganizationId.Any()) || (ListStoreId != null && ListStoreId.Any()))
                {
                    GetStoreWeb2Request paraBody = new GetStoreWeb2Request();
                    paraBody.ListOrgID   = ListOrganizationId;
                    paraBody.ListStoreID = ListStoreId;
                    var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.Store_Get_Web2, null, paraBody);
                    dynamic data       = result.Data;
                    var     lstC       = data["ListStore"];
                    var     lstContent = JsonConvert.SerializeObject(lstC /*result.RawData*/);
                    listStores = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);

                    var currentUser = (UserSession)System.Web.HttpContext.Current.Session["User"];
                    if (currentUser != null)
                    {
                        listStores = listStores.Where(x => currentUser.ListStoreID.Contains(x.Id)).ToList();
                    }
                    if (listStores != null && listStores.Any())
                    {
                        listStores = listStores.OrderBy(s => s.Name).ToList();
                    }
                }
                return(listStores);
            }
            catch (Exception e)
            {
                _logger.Error("Get store list: " + e);
                return(listStores);
            }
        }
Ejemplo n.º 2
0
        public List <SelectListItem> GetListStore(List <string> ListOrganizationId = null, List <string> ListStoreId = null)
        {
            List <SelectListItem> listStores = new List <SelectListItem>();

            try
            {
                if ((ListOrganizationId != null && ListOrganizationId.Any()) || (ListStoreId != null && ListStoreId.Any()))
                {
                    GetStoreWeb2Request paraBody = new GetStoreWeb2Request();
                    paraBody.ListOrgID   = ListOrganizationId;
                    paraBody.ListStoreID = ListStoreId;
                    var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.Store_Get_Web2, null, paraBody);
                    dynamic data       = result.Data;
                    var     lstC       = data["ListStore"];
                    var     lstContent = JsonConvert.SerializeObject(lstC /*result.RawData*/);
                    var     listItems  = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);
                    if (listItems.Count != 0)
                    {
                        for (int i = 0; i < listItems.Count; i++)
                        {
                            var item = listItems[i];
                            listStores.Add(new SelectListItem()
                            {
                                Value = item.Id.ToString(),
                                Text  = item.Name
                            });
                            // Add value common for FJ Daily Sales report
                            if (item.StoreCode == Commons.Stall14StoreCode)
                            {
                                Commons.Stall14StoreId   = item.Id.ToString();
                                Commons.Stall14StoreName = item.Name;
                            }
                        }
                    }
                    var currentUser = (UserSession)System.Web.HttpContext.Current.Session["User"];
                    if (currentUser != null)
                    {
                        listStores = listStores.Where(x => currentUser.ListStoreID.Contains(x.Value)).ToList();
                    }
                    if (listStores != null && listStores.Any())
                    {
                        listStores = listStores.OrderBy(s => s.Text).ToList();
                    }
                }
                return(listStores);
            }
            catch (Exception e)
            {
                _logger.Error("Get store list: " + e);
                return(listStores);
            }
        }
Ejemplo n.º 3
0
        public List <StoreModels> GetListStoreForTranfer(List <string> ListOrganizationId = null, List <string> ListStoreId = null)
        {
            List <StoreModels> listStores = new List <StoreModels>();

            try
            {
                if ((ListOrganizationId != null && ListOrganizationId.Any()) || (ListStoreId != null && ListStoreId.Any()))
                {
                    GetStoreWeb2Request paraBody = new GetStoreWeb2Request();
                    paraBody.ListOrgID   = ListOrganizationId;
                    paraBody.ListStoreID = ListStoreId;
                    var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.Store_Get_Web2, null, paraBody);
                    dynamic data       = result.Data;
                    var     lstC       = data["ListStore"];
                    var     lstContent = JsonConvert.SerializeObject(lstC /*result.RawData*/);
                    var     listItems  = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);
                    //if (listItems.Count != 0)
                    //{
                    //    for (int i = 0; i < listItems.Count; i++)
                    //    {
                    //        var item = listItems[i];
                    //        listStores.Add(new SelectListItem()
                    //        {
                    //            Value = item.Id.ToString(),
                    //            Text = item.Name
                    //        });
                    //    }
                    //}
                    //var currentUser = (UserSession)System.Web.HttpContext.Current.Session["User"];
                    //if (currentUser != null)
                    //    listStores = listStores.Where(x => currentUser.ListStoreID.Contains(x.Value)).ToList();
                    if (listItems != null)
                    {
                        listStores.AddRange(listItems);
                    }
                    if (listStores != null && listStores.Any())
                    {
                        listStores = listStores.OrderBy(s => s.Name).ToList();
                    }
                }
                return(listStores);
            }
            catch (Exception e)
            {
                _logger.Error("GetListStoreForTranfer: " + e);
                return(listStores);
            }
        }
Ejemplo n.º 4
0
        public List <SelectListItem> GetListCompanyForMerchantExtend(string urlApi, List <string> lstOrganizationID, List <MerchantExtendModel> listMerchantExtends, ref List <CompanyModels> lstCompanyReturn)
        {
            List <SelectListItem> listCompany = new List <SelectListItem>();

            try
            {
                //check to session
                //if (System.Web.HttpContext.Current.Session["GetCompanyExtendListSession"] != null && System.Web.HttpContext.Current.Session["GetCompanyExtendListFullSession"] != null)
                //{
                //    listCompany = (List<SelectListItem>)System.Web.HttpContext.Current.Session["GetCompanyExtendListSession"];
                //    lstCompanyReturn = (List<CompanyModels>)System.Web.HttpContext.Current.Session["GetCompanyExtendListFullSession"];
                //}
                //else
                //{
                CompanyApiModels paraBody = new CompanyApiModels();
                paraBody.ListOrganizationID = lstOrganizationID;
                var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.GetCompany, null, paraBody);
                dynamic data       = result.Data;
                var     lstC       = data["ListCompany"];
                var     lstContent = JsonConvert.SerializeObject(lstC /*result.RawData*/);
                var     listItems  = JsonConvert.DeserializeObject <List <CompanyModels> >(lstContent);
                if (listItems.Count != 0)
                {
                    foreach (var item in listItems)
                    {
                        item.ApiUrlExtend = urlApi;
                        listCompany.Add(new SelectListItem()
                        {
                            Value = item.Id.ToString(),
                            Text  = item.Name
                        });
                    }
                    lstCompanyReturn.AddRange(listItems);
                }
                //cross with orther merchant
                foreach (var item in listMerchantExtends)
                {
                    //var paraBodyExtend = new GetStoreWeb2Request();
                    //paraBodyExtend.ListStoreID = item.ListStoreIds;
                    //var resultExtend = (ResponseApiModels)ApiResponse.PostWithoutHostConfig<ResponseApiModels>(item.HostApiURL + "/" + Commons.Store_Get_Web2, null, paraBody);
                    //dynamic dataExtend = resultExtend.Data;
                    //var lstExtend = dataExtend["ListStore"];
                    //var lstContentExtend = JsonConvert.SerializeObject(lstExtend);
                    //List<StoreModels> tmp = JsonConvert.DeserializeObject<List<StoreModels>>(lstContentExtend);

                    var paraBodyExtend = new GetStoreWeb2Request();
                    paraBodyExtend.ListStoreID = item.ListStoreIds;
                    var                 resultExtend     = (ResponseApiModels)ApiResponse.PostWithoutHostConfig <ResponseApiModels>(item.HostApiURL + "/" + Commons.GetStoresExtend, null, paraBodyExtend);
                    dynamic             dataExtend       = resultExtend.Data;
                    var                 lstExtend        = dataExtend["ListStore"];
                    var                 lstContentExtend = JsonConvert.SerializeObject(lstExtend);
                    List <SStoreModels> tmp = JsonConvert.DeserializeObject <List <SStoreModels> >(lstContentExtend);

                    if (tmp != null && tmp.Any())
                    {
                        var lstCompanyExtend = tmp.Select(ss => new CompanyModels()
                        {
                            Id = ss.CompanyID, Name = ss.CompanyName, ApiUrlExtend = item.HostApiURL
                        }).ToList();
                        for (int i = 0; i < tmp.Count; i++)
                        {
                            listCompany.Add(new SelectListItem()
                            {
                                Value = tmp[i].CompanyID,
                                Text  = tmp[i].CompanyName
                            });
                        }
                        lstCompanyReturn.AddRange(lstCompanyExtend);
                    }
                }
                listCompany = listCompany.OrderBy(s => s.Text).ToList();
                //write to session
                //    if (listCompany != null && listCompany.Any())
                //    {
                //        HttpContext.Current.Session.Add("GetCompanyExtendListSession", listCompany);
                //        HttpContext.Current.Session.Add("GetCompanyExtendListFullSession", lstCompanyReturn);
                //    }
                //}
                return(listCompany);
            }
            catch (Exception e)
            {
                _logger.Error("CompanyExtend_GetList: " + e);
                return(listCompany);
            }
        }
Ejemplo n.º 5
0
        public List <SelectListItem> GetListStoreForMerchantExtend(string hostUrl, List <string> lstOrgId, List <MerchantExtendModel> lstMerchantExtends, ref List <StoreModels> listStoreReturn)
        {
            List <SelectListItem> listStores = new List <SelectListItem>();
            List <StoreModels>    listData   = new List <StoreModels>();

            try
            {
                GetStoreWeb2Request paraBody = new GetStoreWeb2Request();
                paraBody.ListOrgID = lstOrgId;
                var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.Store_Get_Web2, null, paraBody);
                dynamic data       = result.Data;
                var     lstC       = data["ListStore"];
                var     lstContent = JsonConvert.SerializeObject(lstC);
                listData = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);
                //listData.ForEach(ss => ss.HostUrlExtend = hostUrl);
                foreach (var item in listData)
                {
                    item.HostUrlExtend = hostUrl;
                    item.NameExtend    = string.Format("{0} in {1}", item.Name, item.OrganizationName);
                }
                //for extend
                foreach (var item in lstMerchantExtends)
                {
                    paraBody             = new GetStoreWeb2Request();
                    paraBody.ListStoreID = item.ListStoreIds;
                    result     = (ResponseApiModels)ApiResponse.PostWithoutHostConfig <ResponseApiModels>(item.HostApiURL + "/" + Commons.Store_Get_Web2, null, paraBody);
                    data       = result.Data;
                    lstC       = data["ListStore"];
                    lstContent = JsonConvert.SerializeObject(lstC);
                    List <StoreModels> tmp = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);
                    foreach (var subitem in tmp)
                    {
                        subitem.HostUrlExtend = item.HostApiURL;
                        subitem.NameExtend    = string.Format("{0} in {1}", subitem.Name, subitem.OrganizationName);
                    }
                    //tmp.ForEach(ss => ss.HostUrlExtend = item.HostApiURL, SS);
                    listData.AddRange(tmp);
                }


                var currentUser = (UserSession)System.Web.HttpContext.Current.Session["User"];
                if (currentUser != null)
                {
                    listData = listData.Where(x => currentUser.ListStoreID.Contains(x.Id)).ToList();
                }

                listStoreReturn = listData;

                listStores = listData.Select(ss => new SelectListItem()
                {
                    Value = ss.Id,
                    Text  = ss.Name
                }).ToList();

                //for  FJ Daily Sales report
                StoreModels stall14 = listData.Where(ww => ww.StoreCode == Commons.Stall14StoreCode).FirstOrDefault();
                if (stall14 != null)
                {
                    Commons.Stall14StoreId   = stall14.Id;
                    Commons.Stall14StoreName = stall14.Name;
                }


                return(listStores);
            }
            catch (Exception e)
            {
                _logger.Error("Get store extend list: " + e);
                return(listStores);
            }
        }
Ejemplo n.º 6
0
        public List <StoreModels> GetListStoresInfo(List <string> lstOrgId = null)
        {
            //using (var db = new NuWebContext())
            //{
            //    var listItemInRecipe = (from ri in db.I_Recipe_Item
            //                            join i in db.I_Ingredient on ri.IngredientId equals i.Id
            //                            where ri.Status != (int)Commons.EStatus.Deleted
            //                            && i.IsCheckStock
            //                            group ri by ri.ItemId into g
            //                            where g.Count() == 1
            //                            select new { g.Key }
            //                            ).ToList();

            //}

            List <StoreModels> listStores = new List <StoreModels>();
            List <StoreModels> listItems  = new List <StoreModels>();

            try
            {
                if (System.Web.HttpContext.Current.Session["ListStoresInfo"] != null)
                {
                    listStores = (List <StoreModels>)System.Web.HttpContext.Current.Session["ListStoresInfo"];
                }
                else
                {
                    var currentUser = (UserSession)System.Web.HttpContext.Current.Session["User"];
                    if (currentUser != null)
                    {
                        var listOrganizationId = lstOrgId;
                        if (listOrganizationId == null)
                        {
                            listOrganizationId = currentUser.ListOrganizationId.ToList();
                        }

                        if (listOrganizationId != null && listOrganizationId.Any())
                        {
                            // Tax info
                            NuWebNCloud.Shared.Factory.Settings.TaxFactory taxFactory = new Settings.TaxFactory();
                            List <Models.Settings.TaxModels> lstTax = new List <Models.Settings.TaxModels>();

                            //=== Get list companies info ===//
                            ////=== Merchant not extend
                            // Get list stores info of listOrganizationId
                            GetStoreWeb2Request paraBody = new GetStoreWeb2Request();
                            paraBody.ListOrgID = listOrganizationId;
                            var                result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.Store_Get_Web2, null, paraBody);
                            dynamic            data       = result.Data;
                            var                lstC       = data["ListStore"];
                            var                lstContent = JsonConvert.SerializeObject(lstC);
                            List <StoreModels> lstStores  = JsonConvert.DeserializeObject <List <StoreModels> >(lstContent);

                            string hostUrlExtend = null;
                            if (!currentUser.IsMerchantExtend)
                            {
                                var stall14 = lstStores.Where(ww => ww.StoreCode == Commons.Stall14StoreCode).FirstOrDefault();
                                // Add value common for FJ Daily Sales report
                                if (stall14 != null)
                                {
                                    Commons.Stall14StoreId   = stall14.Id;
                                    Commons.Stall14StoreName = stall14.Name;
                                }

                                // Get list tax info
                                lstTax = taxFactory.GetListTax(null, null, listOrganizationId);
                            }
                            else
                            {
                                hostUrlExtend = currentUser.HostApi;
                                ////=== Merchant extend
                                // Get list stores info of ListStoreIds
                                if (currentUser.ListMerchantExtends != null && currentUser.ListMerchantExtends.Any())
                                {
                                    foreach (var item in currentUser.ListMerchantExtends)
                                    {
                                        var paraBodyExtend = new GetStoreWeb2Request();
                                        paraBodyExtend.ListStoreID = item.ListStoreIds;
                                        var                resultExtend     = (ResponseApiModels)ApiResponse.PostWithoutHostConfig <ResponseApiModels>(item.HostApiURL + "/" + Commons.Store_Get_Web2, null, paraBodyExtend);
                                        dynamic            dataExtend       = resultExtend.Data;
                                        var                lstExtend        = dataExtend["ListStore"];
                                        var                lstContentExtend = JsonConvert.SerializeObject(lstExtend);
                                        List <StoreModels> lstStoresExtend  = JsonConvert.DeserializeObject <List <StoreModels> >(lstContentExtend);

                                        if (lstStoresExtend != null && lstStoresExtend.Any())
                                        {
                                            foreach (var store in lstStoresExtend)
                                            {
                                                listStores.Add(new StoreModels()
                                                {
                                                    Id               = store.Id,
                                                    Name             = store.Name,
                                                    CompanyId        = store.CompanyId,
                                                    CompanyName      = store.CompanyName,
                                                    HostUrlExtend    = item.HostApiURL,
                                                    IsIncludeTax     = store.IsIncludeTax,
                                                    OrganizationId   = store.OrganizationId,
                                                    OrganizationName = store.OrganizationName,
                                                    NameExtend       = string.Format("{0} in {1}", store.Name, store.OrganizationName),
                                                });
                                            }
                                        }
                                    }
                                }
                            }

                            lstStores = lstStores.Where(x => currentUser.ListStoreID.Contains(x.Id)).ToList();

                            string nameExtend   = "";
                            bool   isIncludeTax = true;
                            foreach (var store in lstStores)
                            {
                                if (!currentUser.IsMerchantExtend)
                                {
                                    int taxType = lstTax.Where(an => an.StoreID == store.Id && an.IsActive).OrderBy(oo => oo.Name).Select(ss => ss.TaxType).FirstOrDefault();
                                    isIncludeTax = (taxType == (int)Commons.ETax.AddOn) ? false : true;
                                }
                                else
                                {
                                    isIncludeTax = store.IsIncludeTax;
                                    nameExtend   = string.Format("{0} in {1}", store.Name, store.OrganizationName);
                                }
                                listStores.Add(new StoreModels()
                                {
                                    Id               = store.Id,
                                    Name             = store.Name,
                                    CompanyId        = store.CompanyId,
                                    CompanyName      = store.CompanyName,
                                    HostUrlExtend    = hostUrlExtend,
                                    IsIncludeTax     = isIncludeTax,
                                    OrganizationId   = store.OrganizationId,
                                    OrganizationName = store.OrganizationName,
                                    NameExtend       = nameExtend,
                                });
                            }

                            if (listStores != null && listStores.Any())
                            {
                                listStores = listStores.OrderBy(o => o.CompanyName).ThenBy(oo => oo.Name).ToList();

                                System.Web.HttpContext.Current.Session.Add("ListStoresInfo", listStores);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                _logger.Error("GetListStoresInfo: " + e);
            }
            return(listStores);
        }