Esempio n. 1
0
        //public bool Insert(List<CompanyModels> lstInfo)
        //{
        //    bool result = true;
        //    var info = lstInfo.FirstOrDefault();
        //    using (NuWebContext cxt = new NuWebContext())
        //    {
        //        using (var transaction = cxt.Database.BeginTransaction())
        //        {
        //            try
        //            {
        //                List<G_Company> lstInsert = new List<G_Company>();
        //                G_Company itemInsert = null;
        //                foreach (var item in lstInfo)
        //                {
        //                    itemInsert = new G_Company();
        //                    itemInsert.Id = item.Id;
        //                    itemInsert.OrganizationID = info.OrganizationID;
        //                    itemInsert.Name = item.Name;
        //                    itemInsert.Status = item.Status;
        //                    itemInsert.CreatedDate = item.CreatedDate;
        //                    itemInsert.CreatedUser = item.CreatedUser;
        //                    itemInsert.LastUserModified = item.LastUserModified;
        //                    itemInsert.LastDateModified = item.LastDateModified;
        //                    lstInsert.Add(itemInsert);
        //                }
        //                cxt.G_Company.AddRange(lstInsert);
        //                cxt.SaveChanges();
        //                transaction.Commit();
        //            }
        //            catch (Exception ex)
        //            {
        //                _logger.Error(ex);
        //                result = false;
        //                transaction.Rollback();
        //            }
        //            finally
        //            {
        //                if (cxt != null)
        //                    cxt.Dispose();
        //            }
        //        }
        //    }
        //    var jsonContent = JsonConvert.SerializeObject(lstInfo);
        //    _baseFactory.InsertTrackingLog("G_Company", jsonContent, "CompanyId", result);
        //    return result;
        //}

        public List <SelectListItem> GetListCompany(List <string> lstOrganizationID)
        {
            List <SelectListItem> listCompany = new List <SelectListItem>();

            try
            {
                //check to session
                //if (System.Web.HttpContext.Current.Session["GetCompanyListSession"] != null)
                //{
                //    listCompany = (List<SelectListItem>)System.Web.HttpContext.Current.Session["GetCompanyListSession"];
                //}
                //else
                //{
                CompanyApiModels paraBody = new CompanyApiModels();
                paraBody.CreatedUser        = Commons.CreateUser;
                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)
                {
                    for (int i = 0; i < listItems.Count; i++)
                    {
                        var item = listItems[i];
                        listCompany.Add(new SelectListItem()
                        {
                            Value = item.Id.ToString(),
                            Text  = item.Name
                        });
                    }
                    listCompany = listCompany.OrderBy(s => s.Text).ToList();
                }
                //write to session
                //    if (listCompany != null && listCompany.Any())
                //    {
                //        HttpContext.Current.Session.Add("GetCompanyListSession", listCompany);
                //    }

                //}
                return(listCompany);
            }
            catch (Exception e)
            {
                _logger.Error("Company_GetList: " + e);
                return(listCompany);
            }
        }
Esempio n. 2
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);
            }
        }
Esempio n. 3
0
        public ImportModel Import(string filePath, FileInfo[] listFileInfo, List <string> storeIndexes, ref string msg)
        {
            ImportModel importItems = new ImportModel();

            DataTable dtCustomer    = ReadExcelFile(filePath, "Sheet1");
            string    tmpExcelPath  = System.Web.HttpContext.Current.Server.MapPath("~/ImportExportTemplate") + "/SBCustomer.xlsx";
            DataTable dtCustomerTmp = ReadExcelFile(tmpExcelPath, "Sheet1");

            if (dtCustomer.Columns.Count != dtCustomerTmp.Columns.Count)
            {
                msg = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons._MsgDoesNotMatchFileExcel);
                return(importItems);
            }

            ImportItem itemErr    = null;
            bool       flagInsert = true;
            string     msgError   = "";

            List <CustomerModels> listData = new List <CustomerModels>();

            foreach (var store in storeIndexes)
            {
                foreach (DataRow item in dtCustomer.Rows)
                {
                    flagInsert = true;
                    msgError   = "";

                    if (item[0].ToString().Equals(""))
                    {
                        continue;
                    }
                    int index = int.Parse(item[0].ToString());

                    string ImageUrl = "";
                    if (!string.IsNullOrEmpty(item[21].ToString()))
                    {
                        FileInfo file = listFileInfo.FirstOrDefault(m => m.Name.ToLower() == item[21].ToString().ToLower());
                        if (file != null)
                        {
                            if (file.Length > Commons._MaxSizeFileUploadImg)
                            {
                                flagInsert = false;
                                msgError   = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons._MsgAllowedSizeImg) + "<br/>";
                            }
                            else
                            {
                                ImageUrl = Guid.NewGuid() + file.Extension;
                                byte[] photoByte = null;
                                photoByte = System.IO.File.ReadAllBytes(file.FullName);
                                //19/01/2018
                                //photoByte = file.ReadFully();
                                //Save Image on Server
                                if (!string.IsNullOrEmpty(ImageUrl) && photoByte != null)
                                {
                                    var          originalDirectory = new DirectoryInfo(string.Format("{0}Uploads\\", System.Web.HttpContext.Current.Server.MapPath(@"\")));
                                    var          path = string.Format("{0}{1}", originalDirectory, ImageUrl);
                                    MemoryStream ms   = new MemoryStream(photoByte, 0, photoByte.Length);
                                    ms.Write(photoByte, 0, photoByte.Length);
                                    System.Drawing.Image imageTmp = System.Drawing.Image.FromStream(ms, true);
                                    ImageHelper.Me.SaveCroppedImage(imageTmp, path, ImageUrl, ref photoByte);
                                    FTP.Upload(ImageUrl, photoByte);
                                    ImageHelper.Me.TryDeleteImageUpdated(path);
                                }
                            }
                        }
                    }

                    string   msgItem     = "";
                    DateTime JoinedDate  = DateTimeHelper.GetDateImport(item[9].ToString(), ref msgItem);
                    DateTime BirthDate   = DateTimeHelper.GetDateImport(item[10].ToString(), ref msgItem);
                    DateTime Anniversary = item[11].ToString().Equals("") ? Commons._ExpiredDate
                                : DateTimeHelper.GetDateImport(item[11].ToString(), ref msgItem);
                    if (!msgItem.Equals(""))
                    {
                        flagInsert = false;
                        msgError  += _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(msgItem);
                    }

                    CustomerModels model = new CustomerModels
                    {
                        Index        = item[0].ToString(),
                        Name         = item[1].ToString(),
                        IsActive     = bool.Parse(item[2].ToString().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Active")).ToString()) ? true : false,
                        Email        = item[3].ToString(),
                        Phone        = item[4].ToString(),
                        Gender       = item[5].ToString().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Male")) ? true : false,
                        Marital      = item[6].ToString().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Married")) ? true : false,
                        IsMembership = bool.Parse(item[7].ToString().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Yes")).ToString()) ? true : false,

                        JoinedDate  = item[9].ToString().Equals("") ? Commons._ExpiredDate : JoinedDate,
                        BirthDate   = item[10].ToString().Equals("") ? Commons._ExpiredDate : BirthDate,
                        Anniversary = item[11].ToString().Equals("") ? Commons._ExpiredDate : Anniversary,

                        IC = item[12].ToString(),

                        OfficeCountry = item[13].ToString(),
                        OfficeZipCode = item[14].ToString(),
                        OfficeCity    = item[15].ToString(),
                        OfficeStreet  = item[16].ToString(),

                        HomeCountry = item[17].ToString(),
                        HomeZipCode = item[18].ToString(),
                        HomeCity    = item[19].ToString(),
                        HomeStreet  = item[20].ToString(),

                        ImageURL = ImageUrl,
                        StoreID  = store,

                        LastVisited = DateTime.Now
                    };

                    if (flagInsert)
                    {
                        listData.Add(model);
                    }
                    else
                    {
                        itemErr      = new ImportItem();
                        itemErr.Name = model.Name;
                        itemErr.ListFailStoreName.Add("");
                        itemErr.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ":" + index + ": " + msgError);
                        importItems.ListImport.Add(itemErr);
                    }
                }
            }

            CompanyApiModels paraBody = new CompanyApiModels();

            paraBody.AppKey        = Commons.AppKey;
            paraBody.AppSecret     = Commons.AppSecret;
            paraBody.CreatedUser   = Commons.CreateUser;
            paraBody.RegisterToken = new RegisterTokenModels();
            paraBody.ListCustomer  = listData;

            //====================
            var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.ImportCustomer, null, paraBody);

            if (result != null)
            {
                dynamic data       = result.Data;
                var     lstC       = data["ListProperty"];
                var     lstContent = JsonConvert.SerializeObject(lstC);
                var     listError  = JsonConvert.DeserializeObject <List <ImportResult> >(lstContent);

                foreach (ImportResult itemError in listError)
                {
                    ImportItem item = new ImportItem();
                    item.Name = itemError.Property;
                    item.ListFailStoreName.Add(itemError.StoreName);
                    item.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ": " + itemError.Index
                                          + "<br/>" + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(itemError.Error));
                    importItems.ListImport.Add(item);
                }
                if (importItems.ListImport.Count == 0)
                {
                    ImportItem item = new ImportItem();
                    item.Name = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Customers");
                    item.ListSuccessStoreName.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Import Customer Successful"));
                    importItems.ListImport.Add(item);
                }
            }
            return(importItems);
        }