public void IntStringToTimeSpan() { Assert.AreEqual(TimeSpan.FromDays(122), ConvertUtil.GetTypedCellValue <TimeSpan>("122")); }
private void OnItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { DoClickEvent(ConvertUtil.ToString(e.Item.Tag)); }
private void btnCommit_Click(object sender, EventArgs e) { ReturnDetailEntity selectDetail = SelectedDetail; if (selectDetail == null) { MsgBox.Warn("没有选中的行!"); return; } if (string.IsNullOrEmpty(txtReturnQty.Text.Trim())) { MsgBox.Warn("退货数量不能为空!"); txtReturnQty.Focus(); return; } if (!ConvertUtil.IsDecimal(txtReturnQty.Text.Trim())) { MsgBox.Warn("退货数量必须是数字!"); txtReturnQty.Focus(); return; } if (ConvertUtil.ToDecimal(txtReturnQty.Text.Trim()) < 0) { MsgBox.Warn("退货数量不能小于0!"); txtReturnQty.Focus(); return; } if (ConvertUtil.ToString(listReturnUnit.EditValue) == string.Empty) { MsgBox.Warn("退货单位不能为空!"); listReturnUnit.Focus(); return; } try { decimal minReturnQty = 0; if (selectDetail.ReturnUnitCode == ConvertUtil.ToString(listReturnUnit.EditValue)) { minReturnQty = ConvertUtil.ToDecimal(txtReturnQty.Text.Trim()); } else { //castRate = returnDal.GetCastRateBySku(selectDetail.MaterialCode, selectDetail.SkuBarcode, selectDetail.UnitCode, minUnitCode); minReturnQty = selectDetail.CastRate * ConvertUtil.ToDecimal(txtReturnQty.Text.Trim()); } if (minReturnQty > selectDetail.MinPickQty - selectDetail.ReturnedQty) { MsgBox.Warn("退货数量超出!"); txtReturnQty.Focus(); return; } selectDetail.ReturnQty = minReturnQty; selectDetail.ReturnUnitName = selectDetail.ReturnUnitName; selectDetail.ReturnUnitCode = selectDetail.ReturnUnitCode; gvDetails.RefreshData(); txtCrnAmount.Text = String.Format("{0:f2}", gridColumn9.SummaryItem.SummaryValue); this.isEdite = true; btnClear_Click(null, null); } catch (Exception ex) { MsgBox.Warn(ex.Message); return; } }
public async Task <BackupResponseModel> CreateBackupFile(BackupRequestModel model) { Directory.CreateDirectory(_backupOptions.CurrentValue.BackupFolderPath); // Ensure a total number of objects less than MaximumObjects var appCount = model.Apps != null?model.Apps.Count() : 0; var standardCount = model.Standards != null?model.Standards.Count() : 0; var chartCount = model.Charts != null?model.Charts.Count() : 0; var dynamicCount = model.DynamicLists != null?model.DynamicLists.Count() : 0; var databaseCount = model.Databases != null?model.Databases.Count() : 0; var pageCount = model.Pages != null?model.Pages.Count() : 0; var totalBackupCount = appCount + standardCount + chartCount + dynamicCount + databaseCount + pageCount; if (totalBackupCount > _backupOptions.CurrentValue.MaximumObjects) { throw new BackupException(BackupErrorCodes.ReachMaximumBackupObjects); } var collectApp = _appServiceProvider.GetAppsByIds(model.Apps); var collectStandards = _standardServiceProvider.GetStandardComponentsByIds(model.Standards); var collectCharts = _chartServiceProvider.GetChartsByIds(model.Charts); var collectDynamicLists = _dynamicListServiceProvider.GetDynamicListsByIds(model.DynamicLists); var collectDatabases = _databaseServiceProvider.GetDatabaseConnectionsByIds(model.Databases); var collectPages = _pageServiceProvider.GetPagesByIds(model.Pages); await Task.WhenAll(collectApp, collectStandards, collectCharts, collectDatabases, collectDynamicLists, collectPages); var backupFileModel = new BackupFlatternFileModel { TotalObjects = totalBackupCount, ChainingFiles = new List <string>() }; var backup = new Backup { Id = DataUtil.GenerateUniqueId(), Name = model.Name, Description = model.Description, CreatedDate = DateTime.UtcNow, Creator = model.Creator, BackupElements = new BackupElements { Apps = model.Apps, Charts = model.Charts, Databases = model.Databases, DynamicLists = model.DynamicLists, Pages = model.Pages, Standards = model.Standards } }; backupFileModel.Backup = backup; // Write to file var fileName = DateTime.UtcNow.Ticks.ToString(); var jsonFilePath = !string.IsNullOrEmpty(_backupOptions.CurrentValue.BackupFolderPath) ? _backupOptions.CurrentValue.BackupFolderPath : Environment.CurrentDirectory; var jsonFileName = fileName + ".json"; jsonFilePath = Path.Combine(jsonFilePath, fileName); Directory.CreateDirectory(jsonFilePath); if (collectApp.Result != null) { var jsonApps = ConvertUtil.SerializeObject(collectApp.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, APP_FILE))) { sw.Write(jsonApps); } backupFileModel.ChainingFiles.Add(APP_FILE); } if (collectStandards.Result != null) { var jsonStandards = ConvertUtil.SerializeObject(collectStandards.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, STANDARD_FILE))) { sw.Write(jsonStandards); } backupFileModel.ChainingFiles.Add(STANDARD_FILE); } if (collectDynamicLists.Result != null) { var jsonDynamicLists = ConvertUtil.SerializeObject(collectDynamicLists.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, DYNAMICLIST_FILE))) { sw.Write(jsonDynamicLists); } backupFileModel.ChainingFiles.Add(DYNAMICLIST_FILE); } if (collectDatabases.Result != null) { var jsonDatabases = ConvertUtil.SerializeObject(collectDatabases.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, DATABASE_FILE))) { sw.Write(jsonDatabases); } backupFileModel.ChainingFiles.Add(DATABASE_FILE); } if (collectCharts.Result != null) { var jsonCharts = ConvertUtil.SerializeObject(collectCharts.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, CHART_FILE))) { sw.Write(jsonCharts); } backupFileModel.ChainingFiles.Add(CHART_FILE); } if (collectPages.Result != null) { var jsonPages = ConvertUtil.SerializeObject(collectPages.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, PAGE_FILE))) { sw.Write(jsonPages); } backupFileModel.ChainingFiles.Add(PAGE_FILE); } var jsonFlattern = ConvertUtil.SerializeObject(backupFileModel, true); using (var sw = new StreamWriter(Path.Combine(jsonFilePath, jsonFileName))) { sw.Write(jsonFlattern); } ZipFile.CreateFromDirectory(jsonFilePath, Path.Combine(_backupOptions.CurrentValue.BackupFolderPath, fileName + ".zip")); // Store zip file into file server, allow to create zip file when downloading var uploadResponse = await _fileSeviceProvider .UploadFileAsync( Path.Combine(_backupOptions.CurrentValue.BackupFolderPath, fileName + ".zip"), model.Creator, true); backup.FileId = uploadResponse.FileId; backup.DownloadableUrl = uploadResponse.DownloadableUrl; await _backupRepository.AddAsync(backup); return(new BackupResponseModel { DownloadableUrl = uploadResponse.DownloadableUrl }); }
public bool SaveDataToDB(ProjectAllocationFramework.Statues.ProgressChangedEventHandler OnProgress, List <StageEntity> entityList) { // The default database service is determined through configuration // and passed to the method as a parameter that can be generated // automatically through injection when the application initializes. if (entityList == null || entityList.Count == 0) { return(true); } bool result = false; int count = entityList.Count; using (DbConnection conn = db.CreateConnection()) { conn.Open(); DbTransaction trans = conn.BeginTransaction(); try { int i = 1; foreach (StageEntity entity in entityList) { string strStageCode = ConvertUtil.ToString(entity.StageCode); //Stage Code string strStageName = ConvertUtil.ToString(entity.StageName); //Stage Name string strPercent = ConvertUtil.ToString(entity.Percent); //Percent string strUser = ConvertUtil.ToString(entity.User); //User int intAction = entity.Action; //Action string sql = string.Empty; if (intAction == 2) { sql = "DELETE FROM [Stage] WHERE [StageCode]=@StageCode"; } else { intAction = 0; sql = "SELECT StageCode FROM [Stage] WHERE StageCode=@StageCode"; DbCommand cmd = DatabaseUtil.GetCommand(db.GetSqlStringCommand(sql)); cmd.Parameters.Clear(); db.AddInParameter(cmd, "StageCode", DbType.String, strStageCode); using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { intAction = 1; break; } } if (intAction == 0) { sql = "INSERT INTO [Stage](StageCode, StageName,Percent,Create_dt,Create_User,Update_dt,Update_User) VALUES (@StageCode, @StageName,@Percent,datetime(),@Create_User,datetime(),@Update_User)"; } else if (intAction == 1) { sql = "UPDATE [Stage] SET [StageName] =@StageName,[Percent] =@Percent,[Update_dt] =datetime(),[Update_User] =@Update_User WHERE [StageCode]=@StageCode"; } } DbCommand userCommand = DatabaseUtil.GetCommand(db.GetSqlStringCommand(sql)); userCommand.Parameters.Clear(); db.AddInParameter(userCommand, "StageCode", DbType.String, strStageCode); db.AddInParameter(userCommand, "StageName", DbType.String, strStageName); db.AddInParameter(userCommand, "Percent", DbType.Double, strPercent); db.AddInParameter(userCommand, "Create_User", DbType.String, strUser); db.AddInParameter(userCommand, "Update_User", DbType.String, strUser); db.AddInParameter(userCommand, "Action", DbType.Int32, intAction); db.ExecuteNonQuery(userCommand, trans); if (OnProgress != null) { string InfomationMessage = string.Format(ProjectAllocationResource.Message.Common_Master_Save_Info, i); int Percentage = (int)(i * Constant.ProgressBarMaximum / count); ProjectAllocationFramework.Statues.ProgressChangedEventArgs args = new ProjectAllocationFramework.Statues.ProgressChangedEventArgs(InfomationMessage, Percentage, null); OnProgress(this, args); } //if success entity.ReadOnly = true; i++; } // Commit the transaction. trans.Commit(); result = true; } catch { // Roll back the transaction. trans.Rollback(); throw; } conn.Close(); return(result); } }
protected override void ReflectiveInit(object start, object end, object option) { _start = Convert.ToString(start) ?? string.Empty; _end = Convert.ToString(end) ?? string.Empty; _style = ConvertUtil.ToEnum <StringTweenStyle>(option, StringTweenStyle.Default); }
public ActionResult Add(string key, int agencyId, Guid userId) { var model = new DN_Sale(); var msg = new JsonMessage(false, "Thêm mới dữ liệu thành công."); try { var lstproduct = Request["values-arr-product"]; var dateE = Request["DateEnd_"]; var dateS = Request["DateStart_"]; var lstCate = Request["ListCateId"]; UpdateModel(model); model.IsDeleted = false; model.IsShow = true; model.AgencyId = agencyId; model.IsAgency = false; model.UserCreate = userId; model.DateEnd = !string.IsNullOrEmpty(dateE) ? ConvertUtil.ToDateTime(dateE).TotalSeconds() : DateTime.Now.TotalSeconds(); model.DateStart = !string.IsNullOrEmpty(dateS) ? ConvertUtil.ToDateTime(dateS).TotalSeconds() : DateTime.Now.TotalSeconds(); if ((!model.QuantityCode.HasValue || model.QuantityCode == 0) && model.IsAll != true && (!model.TotalOrder.HasValue || model.TotalOrder == 0)) { if (string.IsNullOrEmpty(lstCate)) { model.Categories = _da.GetListCateByArrId(lstCate); model.IsAll = false; } else { if (!string.IsNullOrEmpty(lstproduct)) { var lstInt = FDIUtils.StringToListInt(lstproduct); model.Shop_Product_Detail = _da.GetListIntProductByArrId(lstInt); model.IsAll = false; } } } else { model.IsAll = false; } if (model.IsAll == true) { model.QuantityCode = 0; } if (model.QuantityCode > 0) { model.TotalOrder = 0; } if (model.TotalOrder > 0) { model.QuantityCode = 0; } _da.Add(model); _da.Save(); } catch (Exception ex) { msg.Erros = true; msg.Message = "Dữ liệu chưa được thêm mới"; Log2File.LogExceptionToFile(ex); } return(Json(msg, JsonRequestBehavior.AllowGet)); }
public void DoubleToNullableInt() { var result = ConvertUtil.GetTypedCellValue <int?>(2D); Assert.AreEqual(2, result); }
public static void SetPropertyValue(SerializedProperty prop, object value) { if (prop == null) { throw new System.ArgumentNullException("prop"); } switch (prop.propertyType) { case SerializedPropertyType.Integer: prop.intValue = ConvertUtil.ToInt(value); break; case SerializedPropertyType.Boolean: prop.boolValue = ConvertUtil.ToBool(value); break; case SerializedPropertyType.Float: prop.floatValue = ConvertUtil.ToSingle(value); break; case SerializedPropertyType.String: prop.stringValue = ConvertUtil.ToString(value); break; case SerializedPropertyType.Color: prop.colorValue = ConvertUtil.ToColor(value); break; case SerializedPropertyType.ObjectReference: prop.objectReferenceValue = value as Object; break; case SerializedPropertyType.LayerMask: prop.intValue = (value is LayerMask) ? ((LayerMask)value).value : ConvertUtil.ToInt(value); break; case SerializedPropertyType.Enum: //prop.enumValueIndex = ConvertUtil.ToInt(value); prop.SetEnumValue(value); break; case SerializedPropertyType.Vector2: prop.vector2Value = ConvertUtil.ToVector2(value); break; case SerializedPropertyType.Vector3: prop.vector3Value = ConvertUtil.ToVector3(value); break; case SerializedPropertyType.Vector4: prop.vector4Value = ConvertUtil.ToVector4(value); break; case SerializedPropertyType.Rect: prop.rectValue = (Rect)value; break; case SerializedPropertyType.ArraySize: prop.arraySize = ConvertUtil.ToInt(value); break; case SerializedPropertyType.Character: prop.intValue = ConvertUtil.ToInt(value); break; case SerializedPropertyType.AnimationCurve: prop.animationCurveValue = value as AnimationCurve; break; case SerializedPropertyType.Bounds: prop.boundsValue = (Bounds)value; break; case SerializedPropertyType.Gradient: throw new System.InvalidOperationException("Can not handle Gradient types."); } }
public void BadTextToInt() { ConvertUtil.GetTypedCellValue <int>("text1"); }
public void TextToInt() { var result = ConvertUtil.GetTypedCellValue <int>("204"); Assert.AreEqual(204, result); }
public void BoolToDouble() { Assert.AreEqual(1d, ConvertUtil.GetTypedCellValue <double>(true)); Assert.AreEqual(0d, ConvertUtil.GetTypedCellValue <double>(false)); }
public void BoolToDecimal() { Assert.AreEqual(1m, ConvertUtil.GetTypedCellValue <decimal>(true)); Assert.AreEqual(0m, ConvertUtil.GetTypedCellValue <decimal>(false)); }
public void BoolToInt() { Assert.AreEqual(1, ConvertUtil.GetTypedCellValue <int>(true)); Assert.AreEqual(0, ConvertUtil.GetTypedCellValue <int>(false)); }
/// <summary> /// 生成装车任务 /// </summary> private void btnCreateTask_Click(object sender, EventArgs e) { try { using (WaitDialogForm waitDialog = new WaitDialogForm("提示", "正在存储装车信息,请稍后...")) { int outType = 0; object obj = null; Dictionary <string, object> settings = GlobeSettings.SystemSettings; if (settings.ContainsKey("出库方式") && settings["出库方式"].ToString() == "1") { outType = 1; } #region if (!IsOldMap)//表示调用李奇才的方法 { if ((obj = this.InvokeScript("submit")) == null) { MsgBox.Warn("未找到已排序订单!"); return; } } else { if ((obj = this.InvokeScript(this.Submit)) == null) { MsgBox.Warn("未找到已排序订单!"); return; } } #endregion List <SortMapReceiveDataEntity> list = JsonConvert.DeserializeObject <List <SortMapReceiveDataEntity> >(obj.ToString()); if (list == null || list.Count == 0) { MsgBox.Warn("未找到已排序订单"); return; } if (list.Count == this._list.Count || MsgBox.AskOK("还有未排序的订单,是否继续提交?") == DialogResult.OK) { LoadingHeaderEntity header = new LoadingHeaderEntity() { WarehouseCode = GlobeSettings.LoginedUser.WarehouseCode, LoadingNO = outType == 1 ? this._loadingNo : DateTime.Now.ToString("yyyyMMddHHmmssms"), VehicleID = this._vehicle == null ? 0 : this._vehicle.ID, UserName = GlobeSettings.LoginedUser.UserName, UpdateDate = DateTime.Now }; List <LoadingDetailEntity> details = new List <LoadingDetailEntity>(); foreach (SortMapReceiveDataEntity data in list) { SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>( (item) => { return(item.BillNO == data.orderId); })); if (soHeader == null) { continue; } details.Add(new LoadingDetailEntity() { LoadingNO = header.LoadingNO, BillNO = soHeader.BillNO, InVehicleSort = ConvertUtil.ToInt(data.paixu), UpdateDate = DateTime.Now, BillID = soHeader.BillID }); } List <LoadingUserEntity> users = new List <LoadingUserEntity>(); if (this._loadingUsers != null && this._loadingUsers.Count > 0) { foreach (UserEntity item in this._loadingUsers) { users.Add(new LoadingUserEntity() { LoadingNO = header.LoadingNO, UserName = item.UserName, UserCode = item.UserCode, UpdateDate = DateTime.Now, TaskType = "145" }); } } List <LoadingUserEntity> transUsers = new List <LoadingUserEntity>(); if (this._transUsers != null && this._transUsers.Count > 0) { foreach (UserEntity item in this._transUsers) { transUsers.Add(new LoadingUserEntity() { LoadingNO = header.LoadingNO, UserName = item.UserName, UserCode = item.UserCode, UpdateDate = DateTime.Now, TaskType = "148" }); } } header.Details = details; users.AddRange(transUsers); header.Users = users; // 存储排序记录 CreateLoadingInfo(header); //返回没有排序的订单 if (!string.IsNullOrEmpty(this._loadingNo)) { List <SortMapReceiveDataEntity> billsUnSelected = GetLoadingNOUnSelected(this._loadingNo); if (billsUnSelected.Count > 0) { foreach (SortMapReceiveDataEntity item in billsUnSelected) { RequestPackage request = new RequestPackage("removeOrderid.php"); request.Method = EHttpMethod.Get.ToString(); request.Params.Add("orderid", item.orderId); ResponsePackage response = _httpContext.Request(request); if (response.Result == EResponseResult.成功) { string jsonData = Encoding.Default.GetString(response.ResultData as byte[]); if (jsonData == "NULL") { MsgBox.Warn("网络环境异常,请检查网络!"); } } } } } ///装车重新分任务 foreach (SortMapReceiveDataEntity data in list) { SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>( (item) => { return(item.BillNO == data.orderId); })); CreateTask(soHeader.BillID, "148"); } AutoAssignTask(); this.DialogResult = DialogResult.OK; } } } catch (Exception ex) { MsgBox.Err("错误:" + ex.Message); } }
public async Task <PackageResponseModel> Package(PackageRequestModel package) { var app = await _appRepository.GetOneAsync(package.AppId); var collectLocales = _localizationProvider.GetByAppId(app.Id); var collectStandards = _standardServiceProvider.GetByAppId(app.Id); var collectCharts = _chartServiceProvider.GetByAppId(app.Id); var collectDynamicLists = _dynamicListServiceProvider.GetByAppId(app.Id); var collectPages = _pageServiceProvider.GetByAppId(app.Id); await Task.WhenAll(collectLocales, collectStandards, collectCharts, collectDynamicLists, collectPages); var appPackpageFlattern = new AppPackageFlatternModel { App = app, Description = package.Description, PackagedDate = DateTime.UtcNow, Creator = package.Creator, TotalCharts = collectCharts.Result?.Count(), TotalDynamicLists = collectDynamicLists.Result?.Count(), TotalStandards = collectStandards.Result?.Count(), TotalLocales = collectLocales.Result?.Count(), TotalPages = collectPages.Result?.Count(), ChainingFiles = new List <string>() }; var fileName = DateTime.UtcNow.Ticks.ToString(); var folderName = app.Name + "_" + app.CurrentVersionNumber + "_" + fileName; var jsonFileName = folderName + ".json"; var jsonFilePath = Path.Combine(Environment.CurrentDirectory, "Temp", "Packages", folderName); if (Directory.Exists(jsonFilePath)) { Directory.Delete(jsonFilePath, true); } Directory.CreateDirectory(jsonFilePath); if (collectStandards.Result != null) { var jsonStandards = ConvertUtil.SerializeObject(collectStandards.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, STANDARD_FILE))) { sw.Write(jsonStandards); } appPackpageFlattern.ChainingFiles.Add(STANDARD_FILE); } if (collectCharts.Result != null) { var jsonCharts = ConvertUtil.SerializeObject(collectCharts.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, CHART_FILE))) { sw.Write(jsonCharts); } appPackpageFlattern.ChainingFiles.Add(CHART_FILE); } if (collectDynamicLists.Result != null) { var jsonDynamicLists = ConvertUtil.SerializeObject(collectDynamicLists.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, DYNAMICLIST_FILE))) { sw.Write(jsonDynamicLists); } appPackpageFlattern.ChainingFiles.Add(DYNAMICLIST_FILE); } if (collectPages.Result != null) { var jsonPages = ConvertUtil.SerializeObject(collectPages.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, PAGE_FILE))) { sw.Write(jsonPages); } appPackpageFlattern.ChainingFiles.Add(PAGE_FILE); } if (collectLocales.Result != null) { var jsonLocales = ConvertUtil.SerializeObject(collectLocales.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, LOCALE_FILE))) { sw.Write(jsonLocales); } appPackpageFlattern.ChainingFiles.Add(LOCALE_FILE); } var jsonFlattern = ConvertUtil.SerializeObject(appPackpageFlattern, true); using (var sw = new StreamWriter(Path.Combine(jsonFilePath, jsonFileName))) { sw.Write(jsonFlattern); } ZipFile.CreateFromDirectory(jsonFilePath, Path.Combine(Environment.CurrentDirectory, "Temp", "Packages", folderName + ".zip")); // Store zip file into file server, allow to create zip file when downloading var uploadResponse = await _fileSeviceProvider .UploadFileAsync( Path.Combine(Environment.CurrentDirectory, "Temp", "Packages", folderName + ".zip"), package.Creator, true); return(new PackageResponseModel { DownloadableUrl = uploadResponse.DownloadableUrl }); }
/// <summary> /// 添加/替换配置节(如果存在则替换) /// </summary> /// <param name="setting">配置节</param> public virtual ConfigSetting Set(ConfigSetting setting) { ConvertUtil.StringToEnum <ConfigSettingOperator>(""); this.Set(setting.Name, setting); return(setting); }
public async Task <UnpackResponseModel> Unpack(IFormFile uploadFile, string uploader) { var unpackResponse = new UnpackResponseModel { }; var isFileValid = await _fileSeviceProvider.ValidateFile(uploadFile); if (isFileValid) { var storedFilePath = Path.Combine(Environment.CurrentDirectory, "Temp", "Unpackages"); Directory.CreateDirectory(storedFilePath); var tempFilePath = await SaveFormFileAsync(uploadFile, storedFilePath); var unzipFileName = Path.GetFileNameWithoutExtension(tempFilePath); var unzipFolderPath = Path.Combine(storedFilePath, Path.GetFileNameWithoutExtension(tempFilePath)); if (Directory.Exists(unzipFolderPath)) { // Delete old directory Directory.Delete(unzipFolderPath, true); } Directory.CreateDirectory(unzipFolderPath); ZipFile.ExtractToDirectory(tempFilePath, unzipFolderPath); var jsonFilePath = Path.Combine(unzipFolderPath, unzipFileName + ".json"); var jsonFound = File.ReadAllText(jsonFilePath); var appFlatternModel = ConvertUtil.DeserializeObject <AppPackageFlatternModel>(jsonFound); var app = await _appRepository.GetOneAsync(appFlatternModel.App.Id); unpackResponse.IsExistedId = app != null; unpackResponse.IsExistedName = await _appRepository.IsExistAsync(a => a.Name == appFlatternModel.App.Name); // Save zip file into file service var storedFile = await _fileSeviceProvider.UploadFileAsync(tempFilePath, uploader, true); unpackResponse.App = appFlatternModel.App; unpackResponse.UploadFileId = storedFile.FileId; unpackResponse.Description = appFlatternModel.Description; unpackResponse.PackagedDate = appFlatternModel.PackagedDate; unpackResponse.Creator = appFlatternModel.Creator; unpackResponse.TotalStandards = appFlatternModel.TotalStandards.GetValueOrDefault(); unpackResponse.TotalDynamicLists = appFlatternModel.TotalDynamicLists.GetValueOrDefault(); unpackResponse.TotalCharts = appFlatternModel.TotalCharts.GetValueOrDefault(); unpackResponse.TotalPages = appFlatternModel.TotalPages.GetValueOrDefault(); unpackResponse.TotalLocales = appFlatternModel.TotalLocales.GetValueOrDefault(); foreach (var chainingFile in appFlatternModel.ChainingFiles) { switch (chainingFile) { case STANDARD_FILE: var standardFilePath = Path.Combine(unzipFolderPath, STANDARD_FILE); var standardsString = File.ReadAllText(standardFilePath); var standardsList = ConvertUtil.DeserializeObject <IEnumerable <StandardComponent> >(standardsString); var standardStates = new List <ComponentInstallState>(); foreach (var standard in standardsList) { standardStates.Add(new ComponentInstallState { Name = standard.DisplayName, IsExisted = await _standardServiceProvider.CheckStandardExist(a => a.Name == standard.Name || a.Id == standard.Id) }); } unpackResponse.Standards = standardStates; break; case DYNAMICLIST_FILE: var dynamicListFilePath = Path.Combine(unzipFolderPath, DYNAMICLIST_FILE); var dynamicListString = File.ReadAllText(dynamicListFilePath); var dynamicListsList = ConvertUtil.DeserializeObject <IEnumerable <DynamicList> >(dynamicListString); var dynamicListStates = new List <ComponentInstallState>(); foreach (var dynamicList in dynamicListsList) { dynamicListStates.Add(new ComponentInstallState { Name = dynamicList.DisplayName, IsExisted = await _dynamicListServiceProvider.CheckDynamicListExist(a => a.Name == dynamicList.Name || a.Id == dynamicList.Id) }); } unpackResponse.DynamicLists = dynamicListStates; break; case CHART_FILE: var chartFilePath = Path.Combine(unzipFolderPath, CHART_FILE); var chartsString = File.ReadAllText(chartFilePath); var chartsList = ConvertUtil.DeserializeObject <IEnumerable <Chart> >(chartsString); var chartsListStates = new List <ComponentInstallState>(); foreach (var chart in chartsList) { chartsListStates.Add(new ComponentInstallState { Name = chart.DisplayName, IsExisted = await _chartServiceProvider.CheckChartExist(a => a.Name == chart.Name || a.Id == chart.Id) }); } unpackResponse.Charts = chartsListStates; break; case PAGE_FILE: var pageFilePath = Path.Combine(unzipFolderPath, PAGE_FILE); var pagesString = File.ReadAllText(pageFilePath); var pagesList = ConvertUtil.DeserializeObject <IEnumerable <Page> >(pagesString); var pagesListStates = new List <ComponentInstallState>(); foreach (var page in pagesList) { pagesListStates.Add(new ComponentInstallState { Name = page.DisplayName, IsExisted = await _pageServiceProvider.CheckPageExist(a => a.Name == page.Name || a.Id == page.Id) }); } unpackResponse.Pages = pagesListStates; break; case LOCALE_FILE: var localeFilePath = Path.Combine(unzipFolderPath, LOCALE_FILE); var localesString = File.ReadAllText(localeFilePath); var localesList = ConvertUtil.DeserializeObject <IEnumerable <Localization> >(localesString); var localesListStates = new List <ComponentInstallState>(); foreach (var locale in localesList) { localesListStates.Add(new ComponentInstallState { Name = locale.LocaleId, IsExisted = await _localizationProvider.CheckLocaleExist(a => a.LocaleId == locale.LocaleId && a.AppId == locale.AppId) }); } unpackResponse.Locales = localesListStates; break; } } } return(unpackResponse); }
public ActionResult Update(string key, Guid userId) { var msg = new JsonMessage(false, "Cập nhật dữ liệu thành công."); try { if (key != Keyapi) { return(Json(0, JsonRequestBehavior.AllowGet)); } var lstproduct = Request["values-arr-product"]; var dateE = Request["DateEnd_"]; var dateS = Request["DateStart_"]; var lstCate = Request["ListCateId"]; var model = _da.GetById(ItemId); UpdateModel(model); model.UserUpdate = userId; model.DateEnd = !string.IsNullOrEmpty(dateE) ? ConvertUtil.ToDateTime(dateE).TotalSeconds() : DateTime.Now.TotalSeconds(); model.DateStart = !string.IsNullOrEmpty(dateS) ? ConvertUtil.ToDateTime(dateS).TotalSeconds() : DateTime.Now.TotalSeconds(); model.Shop_Product_Detail.Clear(); if ((!model.QuantityCode.HasValue || model.QuantityCode == 0) && model.IsAll != true) { if (string.IsNullOrEmpty(lstCate)) { model.Categories = _da.GetListCateByArrId(lstCate); model.IsAll = false; } else { if (!string.IsNullOrEmpty(lstproduct)) { var lstInt = FDIUtils.StringToListInt(lstproduct); model.Shop_Product_Detail = _da.GetListIntProductByArrId(lstInt); model.IsAll = false; } } } else { model.IsAll = false; } if (model.IsAll == true) { model.QuantityCode = 0; model.TotalOrder = 0; } if (model.QuantityCode > 0) { model.TotalOrder = 0; } if (model.TotalOrder > 0) { model.QuantityCode = 0; } _da.Save(); } catch (Exception ex) { msg.Erros = true; msg.Message = "Dữ liệu chưa được cập nhật"; Log2File.LogExceptionToFile(ex); } return(Json(msg, JsonRequestBehavior.AllowGet)); }
public async Task <string> Package(string appName, string saveFolderPath) { var apps = await _appRepository.GetAllAsync(a => a.Name == appName); var app = apps.FirstOrDefault(); if (app != null) { var collectLocales = _localizationProvider.GetByAppId(app.Id); var collectStandards = _standardServiceProvider.GetByAppId(app.Id); var collectCharts = _chartServiceProvider.GetByAppId(app.Id); var collectDynamicLists = _dynamicListServiceProvider.GetByAppId(app.Id); var collectPages = _pageServiceProvider.GetByAppId(app.Id); await Task.WhenAll(collectLocales, collectStandards, collectCharts, collectDynamicLists, collectPages); var appPackpageFlattern = new AppPackageFlatternModel { App = app, Description = "Generated by CLI", PackagedDate = DateTime.UtcNow, Creator = "CLI", TotalCharts = collectCharts.Result?.Count(), TotalDynamicLists = collectDynamicLists.Result?.Count(), TotalStandards = collectStandards.Result?.Count(), TotalLocales = collectLocales.Result?.Count(), TotalPages = collectPages.Result?.Count(), ChainingFiles = new List <string>() }; var fileName = DateTime.UtcNow.Ticks.ToString(); var folderName = app.Name + "_" + app.CurrentVersionNumber + "_" + fileName; var jsonFileName = folderName + ".json"; var jsonFilePath = Path.Combine(Environment.CurrentDirectory, "Temp", "Packages", folderName); if (Directory.Exists(jsonFilePath)) { Directory.Delete(jsonFilePath, true); } Directory.CreateDirectory(jsonFilePath); if (collectStandards.Result != null) { var jsonStandards = ConvertUtil.SerializeObject(collectStandards.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, STANDARD_FILE))) { sw.Write(jsonStandards); } appPackpageFlattern.ChainingFiles.Add(STANDARD_FILE); } if (collectCharts.Result != null) { var jsonCharts = ConvertUtil.SerializeObject(collectCharts.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, CHART_FILE))) { sw.Write(jsonCharts); } appPackpageFlattern.ChainingFiles.Add(CHART_FILE); } if (collectDynamicLists.Result != null) { var jsonDynamicLists = ConvertUtil.SerializeObject(collectDynamicLists.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, DYNAMICLIST_FILE))) { sw.Write(jsonDynamicLists); } appPackpageFlattern.ChainingFiles.Add(DYNAMICLIST_FILE); } if (collectPages.Result != null) { var jsonPages = ConvertUtil.SerializeObject(collectPages.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, PAGE_FILE))) { sw.Write(jsonPages); } appPackpageFlattern.ChainingFiles.Add(PAGE_FILE); } if (collectLocales.Result != null) { var jsonLocales = ConvertUtil.SerializeObject(collectLocales.Result, true); using (var sw = new StreamWriter( Path.Combine(jsonFilePath, LOCALE_FILE))) { sw.Write(jsonLocales); } appPackpageFlattern.ChainingFiles.Add(LOCALE_FILE); } var jsonFlattern = ConvertUtil.SerializeObject(appPackpageFlattern, true); using (var sw = new StreamWriter(Path.Combine(jsonFilePath, jsonFileName))) { sw.Write(jsonFlattern); } var savePath = Path.Combine(saveFolderPath, folderName + ".zip"); ZipFile.CreateFromDirectory(jsonFilePath, savePath); return(Path.GetFullPath(savePath)); } throw new Exception("There are no matching app, please try again."); }
public async Task RestoreBackupPoint(string backupId) { var backup = await _backupRepository.GetOneAsync(backupId); var zipFile = await _fileSeviceProvider.DownloadFileAsync(backup.FileId); var fileNameWithoutExt = FileUtil.GetFileNameWithoutExt(zipFile.FileName); var restoreFilePath = Path.Combine(_backupOptions.CurrentValue.RestoreFolderPath, zipFile.FileName); using (var fileStream = File.Create(restoreFilePath)) { fileStream.Write(zipFile.FileBytes, 0, zipFile.FileBytes.Length); } // Release file in memory zipFile.FileBytes = null; var folderExtractingPath = Path.Combine(_backupOptions.CurrentValue.RestoreFolderPath, fileNameWithoutExt); if (Directory.Exists(folderExtractingPath)) { Directory.Delete(folderExtractingPath, true); } ZipFile.ExtractToDirectory(restoreFilePath, folderExtractingPath); var jsonBackupFilePath = Path.Combine(folderExtractingPath, fileNameWithoutExt + ".json"); var jsonBackupString = File.ReadAllText(jsonBackupFilePath); var backupFlatternModel = ConvertUtil.DeserializeObject <BackupFlatternFileModel>(jsonBackupString); foreach (var chainingFile in backupFlatternModel.ChainingFiles) { switch (chainingFile) { case APP_FILE: var appFilePath = Path.Combine(folderExtractingPath, APP_FILE); var appsListString = File.ReadAllText(appFilePath); var appsList = ConvertUtil.DeserializeObject <IEnumerable <App> >(appsListString); await _appServiceProvider.ForceUpdateApps(appsList); break; case STANDARD_FILE: var standardFilePath = Path.Combine(folderExtractingPath, STANDARD_FILE); var standardsString = File.ReadAllText(standardFilePath); var standardsList = ConvertUtil.DeserializeObject <IEnumerable <StandardComponent> >(standardsString); await _standardServiceProvider.ForceUpdateStandards(standardsList); break; case CHART_FILE: var chartFilePath = Path.Combine(folderExtractingPath, CHART_FILE); var chartsString = File.ReadAllText(chartFilePath); var chartsList = ConvertUtil.DeserializeObject <IEnumerable <Chart> >(chartsString); await _chartServiceProvider.ForceUpdateCharts(chartsList); break; case DATABASE_FILE: var databaseFilePath = Path.Combine(folderExtractingPath, DATABASE_FILE); var databasesString = File.ReadAllText(databaseFilePath); var databasesList = ConvertUtil.DeserializeObject <IEnumerable <DatabaseConnection> >(databasesString); await _databaseServiceProvider.ForceUpdateDatabases(databasesList); break; case PAGE_FILE: var pageFilePath = Path.Combine(folderExtractingPath, PAGE_FILE); var pagesString = File.ReadAllText(pageFilePath); var pagesList = ConvertUtil.DeserializeObject <IEnumerable <Page> >(pagesString); await _pageServiceProvider.ForceUpdatePages(pagesList); break; case DYNAMICLIST_FILE: var dynamicListFilePath = Path.Combine(folderExtractingPath, DYNAMICLIST_FILE); var dynamicListString = File.ReadAllText(dynamicListFilePath); var dynamicListsList = ConvertUtil.DeserializeObject <IEnumerable <DynamicList> >(dynamicListString); await _dynamicListServiceProvider.ForceUpdateDynamicLists(dynamicListsList); break; default: break; } } Directory.Delete(folderExtractingPath, true); File.Delete(restoreFilePath); }
public async Task Install(string uploadFileId, InstallWay installWay = InstallWay.Merge) { var zipFile = await _fileSeviceProvider.DownloadFileAsync(uploadFileId); var fileNameWithoutExt = FileUtil.GetFileNameWithoutExt(zipFile.FileName); var restoreFolderPath = Path.Combine(Environment.CurrentDirectory, "Temp", "InstallationPackages"); Directory.CreateDirectory(restoreFolderPath); var restoreFilePath = Path.Combine(restoreFolderPath, zipFile.FileName); using (var fileStream = File.Create(restoreFilePath)) { fileStream.Write(zipFile.FileBytes, 0, zipFile.FileBytes.Length); } // Release file in memory zipFile.FileBytes = null; var folderExtractingPath = Path.Combine(restoreFolderPath, fileNameWithoutExt); if (Directory.Exists(folderExtractingPath)) { Directory.Delete(folderExtractingPath, true); } ZipFile.ExtractToDirectory(restoreFilePath, folderExtractingPath); var jsonAppPackageFilePath = Path.Combine(folderExtractingPath, fileNameWithoutExt + ".json"); var jsonAppPackageString = File.ReadAllText(jsonAppPackageFilePath); var appFlatternModel = ConvertUtil.DeserializeObject <AppPackageFlatternModel>(jsonAppPackageString); var isExist = await _appRepository.IsExistAsync(a => a.Id == appFlatternModel.App.Id); switch (installWay) { case InstallWay.Merge: break; case InstallWay.Wipe: if (isExist) { // Wipe all data await _standardServiceProvider.DeleteAllByAppIdAsync(appFlatternModel.App.Id); await _dynamicListServiceProvider.DeleteByAppIdAsync(appFlatternModel.App.Id); await _chartServiceProvider.DeleteByAppIdAsync(appFlatternModel.App.Id); await _pageServiceProvider.DeleteByAppIdAsync(appFlatternModel.App.Id); await _localizationProvider.DeleteByAppIdAsync(appFlatternModel.App.Id); } break; } foreach (var chainingFile in appFlatternModel.ChainingFiles) { switch (chainingFile) { case STANDARD_FILE: var standardFilePath = Path.Combine(folderExtractingPath, STANDARD_FILE); var standardsString = File.ReadAllText(standardFilePath); var standardsList = ConvertUtil.DeserializeObject <IEnumerable <StandardComponent> >(standardsString); await _standardServiceProvider.ForceUpdateStandards(standardsList); break; case DYNAMICLIST_FILE: var dynamicListFilePath = Path.Combine(folderExtractingPath, DYNAMICLIST_FILE); var dynamicListString = File.ReadAllText(dynamicListFilePath); var dynamicListsList = ConvertUtil.DeserializeObject <IEnumerable <DynamicList> >(dynamicListString); await _dynamicListServiceProvider.ForceUpdateDynamicLists(dynamicListsList); break; case CHART_FILE: var chartFilePath = Path.Combine(folderExtractingPath, CHART_FILE); var chartsString = File.ReadAllText(chartFilePath); var chartsList = ConvertUtil.DeserializeObject <IEnumerable <Chart> >(chartsString); await _chartServiceProvider.ForceUpdateCharts(chartsList); break; case PAGE_FILE: var pageFilePath = Path.Combine(folderExtractingPath, PAGE_FILE); var pagesString = File.ReadAllText(pageFilePath); var pagesList = ConvertUtil.DeserializeObject <IEnumerable <Page> >(pagesString); await _pageServiceProvider.ForceUpdatePages(pagesList); break; case LOCALE_FILE: var localeFilePath = Path.Combine(folderExtractingPath, LOCALE_FILE); var localesString = File.ReadAllText(localeFilePath); var localesList = ConvertUtil.DeserializeObject <IEnumerable <Localization> >(localesString); await _localizationProvider.ForceUpdateLocalizations(localesList); break; } } await _appRepository.ForceUpdateAsync(appFlatternModel.App.Id, appFlatternModel.App); Directory.Delete(folderExtractingPath, true); File.Delete(restoreFilePath); }
/// <summary> /// Execute returns the week number based on the user's input. /// </summary> /// <param name="arguments">The user specified date and optional return type.</param> /// <param name="context">Not used, but needed for overriding the method.</param> /// <returns>The week number out of 52 based on the date given.</returns> public override CompileResult Execute(IEnumerable <FunctionArgument> arguments, ParsingContext context) { if (this.ArgumentsAreValid(arguments, 1, out eErrorType argumentError) == false) { return(new CompileResult(argumentError)); } var serialNumberCandidate = arguments.ElementAt(0).Value; if (serialNumberCandidate == null) { return(new CompileResult(eErrorType.NA)); } var returnType = 1; if (arguments.Count() > 1) { if (arguments.ElementAt(1).Value == null) { return(new CompileResult(eErrorType.Num)); } else if (!this.TryGetArgAsInt(arguments, 1, out returnType)) { return(new CompileResult(eErrorType.Value)); } } // Excel treats 0 and fractional dates as special dates and require special output. if (ConvertUtil.TryParseObjectToDecimal(serialNumberCandidate, out double serialNumber) && serialNumber < 1 && serialNumber >= 0) { return(this.getZeroWeek(returnType)); } var isValidDate = ConvertUtil.TryParseDateObject(serialNumberCandidate, out System.DateTime date, out eErrorType? error); if (!isValidDate) { return(new CompileResult(error.Value)); } var calendarType = CalendarWeekRule.FirstDay; var startDay = DayOfWeek.Sunday; switch (returnType) { case 1: startDay = DayOfWeek.Sunday; break; case 2: startDay = DayOfWeek.Monday; break; case 11: startDay = DayOfWeek.Monday; break; case 12: startDay = DayOfWeek.Tuesday; break; case 13: startDay = DayOfWeek.Wednesday; break; case 14: startDay = DayOfWeek.Thursday; break; case 15: startDay = DayOfWeek.Friday; break; case 16: startDay = DayOfWeek.Saturday; break; case 17: startDay = DayOfWeek.Sunday; break; case 21: startDay = DayOfWeek.Thursday; calendarType = CalendarWeekRule.FirstFullWeek; break; default: return(new CompileResult(eErrorType.Num)); } if (DateTimeFormatInfo.CurrentInfo == null) { throw new InvalidOperationException( "Could not execute Weeknum function because DateTimeFormatInfo.CurrentInfo was null"); } var week = DateTimeFormatInfo.CurrentInfo.Calendar.GetWeekOfYear(date, calendarType, startDay); return(this.CreateResult(week, DataType.Integer)); }
protected void btnSearchExport_Click(object sender, EventArgs e) { //搜尋條件 Dictionary <string, string> conditions = new Dictionary <string, string>(); conditions.Add("Flag", "1"); conditions.Add("NodeId", m_NodeId.ToString()); conditions.Add("KeyWord", txtSearchKeyword.Text.Trim()); conditions.Add("Type", ddlSearchType.SelectedValue); conditions.Add("CustomField1", ddlSearchCustomField1.SelectedValue); if (!string.IsNullOrEmpty(txtSearchShowDateStart.Text.Trim())) { conditions.Add("ShowDateStart", txtSearchShowDateStart.Text.Trim()); } if (!string.IsNullOrEmpty(txtSearchShowDateEnd.Text.Trim())) { conditions.Add("ShowDateEnd", txtSearchShowDateEnd.Text.Trim()); } if (!string.IsNullOrEmpty(txtSearchCloseDateStart.Text.Trim())) { conditions.Add("CloseDateStart", txtSearchCloseDateStart.Text.Trim()); } if (!string.IsNullOrEmpty(txtSearchCloseDateEnd.Text.Trim())) { conditions.Add("CloseDateEnd", txtSearchCloseDateEnd.Text.Trim()); } if (!string.IsNullOrEmpty(ddlSearchStore.SelectedValue)) { conditions.Add("Store", ddlSearchStore.SelectedValue); } conditions.Add("Order", string.Format("order by {0}", ddlSearchOrder.SelectedValue)); //conditions.Add("Order", "order by p.CloseDate desc, p.ShowDate desc, p.Title"); IList <PostVO> postList = m_PostService.GetPostList(conditions); DataTable table = new DataTable(); table.Columns.Add("類別", typeof(string)); table.Columns.Add("狀態", typeof(string)); table.Columns.Add("進貨日", typeof(string)); table.Columns.Add("銷貨日", typeof(string)); table.Columns.Add("品名", typeof(string)); table.Columns.Add("進貨價", typeof(double)); table.Columns.Add("售價", typeof(double)); table.Columns.Add("數量", typeof(int)); table.Columns.Add("客戶姓名", typeof(string)); table.Columns.Add("客戶電話", typeof(string)); table.Columns.Add("商品序號", typeof(string)); table.Columns.Add("保固商", typeof(string)); table.Columns.Add("進貨盤商", typeof(string)); table.Columns.Add("銷售員", typeof(string)); table.Columns.Add("銷售店點", typeof(string)); table.Columns.Add("從建立客戶時銷售", typeof(string)); if (postList != null && postList.Count > 0) { foreach (PostVO postVO in postList) { DataRow dr = table.NewRow(); string showDate = postVO.ShowDate.HasValue ? postVO.ShowDate.Value.ToString("yyyy/MM/dd") : ""; string closeDate = postVO.CloseDate.HasValue ? postVO.CloseDate.Value.ToString("yyyy/MM/dd") : ""; dr[0] = postVO.CustomField1; dr[1] = postVO.GetStr_Type; dr[2] = showDate; dr[3] = closeDate; dr[4] = postVO.Title; dr[5] = postVO.Price == null ? 0 : postVO.Price; dr[6] = postVO.SellPrice == null ? 0 : postVO.SellPrice; dr[7] = postVO.Quantity; dr[8] = postVO.MemberName; dr[9] = postVO.MemberPhone; dr[10] = postVO.ProductSer; dr[11] = postVO.WarrantySuppliers; dr[12] = postVO.Wholesalers; dr[13] = postVO.CustomField2; dr[14] = postVO.Store; dr[15] = string.IsNullOrEmpty(postVO.MemberId) ? "" : "是"; table.Rows.Add(dr); } } string uploadRootPath = Server.MapPath("~\\") + "\\App_Data\\temp.xls"; NPOIHelper.ExportByWeb(table, "類別", string.Format("{0}庫存.xls", ConvertUtil.UtcDateTimeToTaiwanDateTime(DateTime.UtcNow).ToString("yyyyMMdd")), true, uploadRootPath); }
/// <summary> /// 填充表格数据 /// </summary> /// <param name="dt">需要填充表</param> /// <param name="startDate">起始时间</param> /// <param name="endDate">结束时间</param> /// <param name="chartTime">时间颗粒(hour、day、 month、year</param> public static void FillData(DataTable dt, DateTime startDate, DateTime endDate, string chartTime) { DateTime d = ConvertUtil.ToDateTime(startDate); DateTime end = ConvertUtil.ToDateTime(endDate); string chartX = string.Empty; switch (chartTime.ToLower()) { case "hour": for (int i = 0; i < 24; i++) { chartX = d.ToString("yyyy-MM-dd HH"); DataRow[] row = dt.Select("chartX='" + chartX + "'"); if (row.Length == 0) { dt.Rows.Add(new object[] { chartX, 0 }); } d = d.AddHours(1); } break; case "day": while (d <= end) { chartX = d.ToString("yyyy-MM-dd"); DataRow[] row = dt.Select("chartX='" + chartX + "'"); if (row.Length == 0) { dt.Rows.Add(new object[] { chartX, 0 }); } d = d.AddDays(1); } break; case "month": d = new DateTime(d.Year, d.Month, 1); end = new DateTime(end.Year, end.Month, 1); while (d <= end) { chartX = d.ToString("yyyy-MM"); DataRow[] row = dt.Select("chartX='" + chartX + "'"); if (row.Length == 0) { dt.Rows.Add(new object[] { chartX, 0 }); } d = d.AddMonths(1); } break; case "year": d = new DateTime(d.Year, 1, 1); end = new DateTime(end.Year, 1, 1); while (d <= end) { chartX = d.ToString("yyyy"); DataRow[] row = dt.Select("chartX='" + chartX + "'"); if (row.Length == 0) { dt.Rows.Add(new object[] { chartX, 0 }); } d = d.AddYears(1); } break; } }
private void AppendSharedItems(XmlElement shNode) { int index = 0; foreach (var si in SharedItems) { if (si == null) { _cacheLookup.Add("", index++); //Can't have null as key. AppendItem(shNode, "m", null); } else { _cacheLookup.Add(si, index++); var t = si.GetType(); var tc = Type.GetTypeCode(t); switch (tc) { case TypeCode.Byte: case TypeCode.SByte: case TypeCode.UInt16: case TypeCode.UInt32: case TypeCode.UInt64: case TypeCode.Int16: case TypeCode.Int32: case TypeCode.Int64: case TypeCode.Decimal: case TypeCode.Double: case TypeCode.Single: AppendItem(shNode, "n", ConvertUtil.GetValueForXml(si, false)); break; case TypeCode.DateTime: var d = ((DateTime)si); if (d.Year > 1899) { AppendItem(shNode, "d", d.ToString("s")); } else { AppendItem(shNode, "d", d.ToString("HH:mm:ss", CultureInfo.InvariantCulture)); } break; case TypeCode.Boolean: AppendItem(shNode, "b", ConvertUtil.GetValueForXml(si, false)); break; case TypeCode.Empty: AppendItem(shNode, "m", null); break; default: if (t == typeof(TimeSpan)) { d = new DateTime(((TimeSpan)si).Ticks); if (d.Year > 1899) { AppendItem(shNode, "d", d.ToString("s")); } else { AppendItem(shNode, "d", d.ToString("HH:mm:ss", CultureInfo.InvariantCulture)); } } else if (t == typeof(ExcelErrorValue)) { AppendItem(shNode, "e", si.ToString()); } else { AppendItem(shNode, "s", si.ToString()); } break; } } } }
private void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtHandingPerson.Text.Trim())) { MsgBox.Warn("经办人不能为空!"); txtHandingPerson.Focus(); return; } if (string.IsNullOrEmpty(txtReturnDriver.Text.Trim())) { MsgBox.Warn("退货司机不能为空!"); txtReturnDriver.Focus(); return; } if (string.IsNullOrEmpty(txtCrnAmount.Text.Trim())) { MsgBox.Warn("退货金额不能为空!"); txtCrnAmount.Focus(); return; } if (!ConvertUtil.IsDecimal(txtCrnAmount.Text.Trim())) { MsgBox.Warn("退货金额必须是数字!"); txtCrnAmount.Focus(); return; } if (ConvertUtil.ToDecimal(txtCrnAmount.Text.Trim()) < 0) { MsgBox.Warn("退货金额不能小于0!"); txtCrnAmount.Focus(); return; } if (listReturnReason.EditValue == null) { MsgBox.Warn("退货原因不能为空!"); listReturnReason.Focus(); return; } if (MsgBox.AskOK("确定保存该退货单吗?") != DialogResult.OK) { return; } //保存退货单 try { Cursor.Current = Cursors.WaitCursor; returnDal.SaveReturnBill(soHeader, lstDetail, GlobeSettings.LoginedUser.WarehouseCode, ConvertUtil.ToDatetime(dateReturnDate.EditValue), txtReturnDriver.Text.Trim(), txtHandingPerson.Text.Trim(), txtWmsRemark.Text.Trim(), ConvertUtil.ToDecimal(txtReturnAmount.Text.Trim()), GlobeSettings.LoginedUser.UserCode, ConvertUtil.ToString(listReturnReason.EditValue), txtReturnRemark.Text, ConvertUtil.ToDecimal(txtCrnAmount.Text.Trim()), out errMsg); if (!string.IsNullOrEmpty(errMsg)) { MsgBox.Warn(errMsg); } else { MsgBox.OK("保存成功!"); this.isEdite = false; //GetSoDetails(); this.Close(); } } catch (Exception ex) { MsgBox.Warn(ex.Message); return; } finally { Cursor.Current = Cursors.Default; } }
private void AddItems(EPPlusReadOnlyList <Object> items, XmlNode itemsNode, bool updateCacheLookup) { if (updateCacheLookup) { _cacheLookup = new Dictionary <object, int>(new CacheComparer()); } foreach (XmlElement c in itemsNode.ChildNodes) { if (c.LocalName == "s") { items.Add(c.Attributes["v"].Value); } else if (c.LocalName == "d") { if (ConvertUtil.TryParseDateString(c.Attributes["v"].Value, out DateTime d)) { items.Add(d); } else { items.Add(c.Attributes["v"].Value); } } else if (c.LocalName == "n") { if (ConvertUtil.TryParseNumericString(c.Attributes["v"].Value, out double num)) { items.Add(num); } else { items.Add(c.Attributes["v"].Value); } } else if (c.LocalName == "b") { if (ConvertUtil.TryParseBooleanString(c.Attributes["v"].Value, out bool b)) { items.Add(b); } else { items.Add(c.Attributes["v"].Value); } } else if (c.LocalName == "e") { if (ExcelErrorValue.Values.StringIsErrorValue(c.Attributes["v"].Value)) { items.Add(ExcelErrorValue.Parse(c.Attributes["v"].Value)); } else { items.Add(c.Attributes["v"].Value); } } else { items.Add(null); } if (updateCacheLookup) { _cacheLookup.Add(items[items.Count - 1] ?? "", items.Count - 1); } } }
private string GenerateFilterColumns(IEnumerable <ChartFilterValue> filterValues, ref List <ChartReportParameter> parameters) { var filterStr = string.Empty; var counter = 0; foreach (var filter in filterValues) { switch (filter.FilterType) { case Entities.Components.FilterType.Checkbox: var tempCheckBoxParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("{0}={1}", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempCheckBoxParam)); // Only for MySQL, bool is 0 or 1 var passValue = 0; if (filter.Value == "0" || filter.Value == "1") { passValue = filter.Value == "0" ? 0 : 1; } else { passValue = !bool.Parse(filter.Value) ? 0 : 1; } parameters.Add(new ChartReportParameter { Name = tempCheckBoxParam, CastedValue = passValue == 1, ValueType = "bool" }); break; case Entities.Components.FilterType.Select: if (filter.IsMultiple) { var isArrayStr = filter.Value.Any(a => a == '\'' || a == '"'); if (isArrayStr) { var arrayStr = ConvertUtil.DeserializeObject <List <string> >(filter.Value); foreach (var str in arrayStr) { if (arrayStr.IndexOf(str) == 0) { filterStr += "("; } var tempSelectParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("{0}={1}", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempSelectParam)); if (arrayStr.IndexOf(str) < arrayStr.Count - 1) { filterStr += " OR "; } else { filterStr += ")"; } parameters.Add(new ChartReportParameter { Name = tempSelectParam, CastedValue = str, ValueType = "string" }); } } else { var longStr = ConvertUtil.DeserializeObject <List <long> >(filter.Value); foreach (var longElem in longStr) { if (longStr.IndexOf(longElem) == 0) { filterStr += "("; } var tempSelectParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("{0}={1}", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempSelectParam)); if (longStr.IndexOf(longElem) < longStr.Count - 1) { filterStr += " OR "; } else { filterStr += ")"; } parameters.Add(new ChartReportParameter { Name = tempSelectParam, CastedValue = longElem, ValueType = "long" }); } } } else { var tempSelectParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("{0}={1}", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempSelectParam)); // Check value is int or string long selectValue = 0; var isLong = false; if (long.TryParse(filter.Value, out selectValue)) { isLong = true; } ChartReportParameter selectMySqlParameter; if (isLong) { selectMySqlParameter = new ChartReportParameter { Name = tempSelectParam, CastedValue = selectValue, ValueType = "long" }; } else { selectMySqlParameter = new ChartReportParameter { Name = tempSelectParam, CastedValue = filter.Value, ValueType = "string" }; } parameters.Add(selectMySqlParameter); } break; case Entities.Components.FilterType.NumberPicker: var tempNumberRangeParam = StringUtil.GenerateUniqueName(); if (filter.IsMultiple) { var arrayStrings = ConvertUtil.DeserializeObject <string[]>(filter.Value); var containsNumberMinMax = arrayStrings[0].Contains("-"); if (containsNumberMinMax) { // Ex: [10-20,20-30] var compareStr = string.Empty; var counterTemp = 0; foreach (var numRange in arrayStrings) { var splitted = numRange.Split("-"); var tempStartNumParam = StringUtil.GenerateUniqueName(); var tempEndNumParam = StringUtil.GenerateUniqueName(); if (counterTemp < arrayStrings.Length - 1) { compareStr += string.Format(options.NumberRangeCompare + " OR ", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempStartNumParam), GetFieldWithParamSign(tempEndNumParam)); } else { compareStr += string.Format(options.NumberRangeCompare, GetFieldFormat(filter.Name), GetFieldWithParamSign(tempStartNumParam), GetFieldWithParamSign(tempEndNumParam)); } counterTemp++; parameters.Add(new ChartReportParameter { Name = tempStartNumParam, CastedValue = long.Parse(splitted[0]), ValueType = "long" }); parameters.Add(new ChartReportParameter { Name = tempEndNumParam, CastedValue = long.Parse(splitted[1]), ValueType = "long" }); } filterStr += string.Format("({0})", compareStr); } else { var inNumberStr = string.Join(",", arrayStrings); inNumberStr = string.Format(options.InOperator, GetFieldFormat(filter.Name), inNumberStr); filterStr += inNumberStr; } } else { var containsNumberMinMax = filter.Value.Contains("-"); if (containsNumberMinMax) { var splitted = filter.Value.Split("-"); var tempStartNumParam = StringUtil.GenerateUniqueName(); var tempEndNumParam = StringUtil.GenerateUniqueName(); filterStr += string.Format( options.NumberRangeCompare, GetFieldFormat(filter.Name), GetFieldWithParamSign(tempStartNumParam), GetFieldWithParamSign(tempEndNumParam)); parameters.Add(new ChartReportParameter { Name = tempStartNumParam, CastedValue = long.Parse(splitted[0]), ValueType = "long" }); parameters.Add(new ChartReportParameter { Name = tempEndNumParam, CastedValue = long.Parse(splitted[1]), ValueType = "long" }); } else { filterStr += string.Format("{0}={1}", GetFieldFormat(filter.Name), GetFieldWithParamSign(tempNumberRangeParam)); parameters.Add(new ChartReportParameter { Name = tempNumberRangeParam, CastedValue = long.Parse(filter.Value), ValueType = "long" }); } } break; case Entities.Components.FilterType.DatePicker: if (filter.IsMultiple) { // Ex: ['10/10/2019', '11/10/2019'] var tempStartDateParam = StringUtil.GenerateUniqueName(); var tempEndDateParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("({0} AND {1})", string.Format( options.DateCompare, GetFieldFormat(filter.Name), ">=", GetFieldWithParamSign(tempStartDateParam)), string.Format( options.DateCompare, GetFieldFormat(filter.Name), "<=", GetFieldWithParamSign(tempEndDateParam))); var arrayDates = ConvertUtil.DeserializeObject <string[]>(filter.Value); var startDatePickerDt = DateTime.Parse(arrayDates[0]); var endDatePickerDt = DateTime.Parse(arrayDates[1]); parameters.Add(new ChartReportParameter { Name = tempStartDateParam, CastedValue = startDatePickerDt, ValueType = "date" }); parameters.Add(new ChartReportParameter { Name = tempEndDateParam, CastedValue = endDatePickerDt, ValueType = "date" }); } else { var tempDatePickerParam = StringUtil.GenerateUniqueName(); filterStr += string.Format( options.DateCompare, GetFieldFormat(filter.Name), "=", GetFieldWithParamSign(tempDatePickerParam)); // Support Date Format: MM/DD/YYYY var datePickerDt = DateTime.Parse(filter.Value); parameters.Add(new ChartReportParameter { Name = tempDatePickerParam, CastedValue = datePickerDt, ValueType = "date" }); } break; case Entities.Components.FilterType.MonthYearPicker: if (filter.IsMultiple) { var tempStartDateParam = StringUtil.GenerateUniqueName(); var tempEndDateParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("({0} AND {1})", string.Format( options.DateCompare, GetFieldFormat(filter.Name), ">=", GetFieldWithParamSign(tempStartDateParam)), string.Format( options.DateCompare, GetFieldFormat(filter.Name), "<=", GetFieldWithParamSign(tempEndDateParam))); var arrayDates = ConvertUtil.DeserializeObject <string[]>(filter.Value); var startDatePickerDt = DateTime.Parse(arrayDates[0]); var endDatePickerDt = DateTime.Parse(arrayDates[1]); parameters.Add(new ChartReportParameter { Name = tempStartDateParam, CastedValue = startDatePickerDt, ValueType = "date" }); parameters.Add(new ChartReportParameter { Name = tempEndDateParam, CastedValue = endDatePickerDt, ValueType = "date" }); } else { var tempMonthPickerParam = StringUtil.GenerateUniqueName(); var tempYearPickerParam = StringUtil.GenerateUniqueName(); filterStr += string.Format("({0} AND {1})", string.Format( options.MonthCompare, GetFieldFormat(filter.Name), "=", GetFieldWithParamSign(tempMonthPickerParam)), string.Format( options.YearCompare, GetFieldFormat(filter.Name), "=", GetFieldWithParamSign(tempYearPickerParam))); // Support Date Format: MM/DD/YYYY var dateMonthPickerDt = DateTime.Parse(filter.Value); parameters.Add(new ChartReportParameter { Name = tempMonthPickerParam, CastedValue = dateMonthPickerDt, ValueType = "date" }); parameters.Add(new ChartReportParameter { Name = tempYearPickerParam, CastedValue = dateMonthPickerDt, ValueType = "date" }); } break; } counter++; if (counter < filterValues.Count()) { filterStr += " AND "; } } return(filterStr); }
public void IntToTimeSpan() { ConvertUtil.GetTypedCellValue <TimeSpan>(122); }