//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); } }
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); } }
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); }