public bool DeleteForTypeAndProperty(string typeBvin, long propertyId) { var typeGuid = DataTypeHelper.BvinToGuid(typeBvin); return(Delete(y => y.PropertyId == propertyId && y.ProductTypeBvin == typeGuid)); }
protected override Func <hcc_ProductImage, bool> NotMatchItems(List <ProductImage> items) { var itemGuids = items.Select(i => DataTypeHelper.BvinToGuid(i.Bvin)).ToList(); return(pi => !itemGuids.Contains(pi.bvin)); }
public ProductImage FindForAllStores(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(FindFirstPoco(y => y.bvin == guid)); }
protected bool Save() { var culture = Thread.CurrentThread.CurrentUICulture; var result = false; if (Page.IsValid) { var p = HccApp.CatalogServices.Products.Find(ProductId); if (p == null) { p = new Product(); } p.Status = chkActive.Checked ? ProductStatus.Active : ProductStatus.Disabled; p.IsSearchable = chkSearchable.Checked; var isBundle = rbBehaviour.SelectedValue == "B"; var isGC = rbBehaviour.SelectedValue == "GC"; p.IsBundle = isBundle; if (isGC && p.IsGiftCard != isGC && !string.IsNullOrEmpty(p.Bvin)) { HccApp.CatalogServices.BundledProducts.DeleteByBundleProductId(p.Bvin); } p.IsGiftCard = isGC; p.TemplateName = ddlTemplateList.SelectedValue; p.Featured = chkFeatured.Checked; if (string.Compare(p.Sku.Trim(), SkuField.Text.Trim(), true) != 0) { //sku changed, so do a sku check var prodGuid = DataTypeHelper.BvinToNullableGuid(p.Bvin); if (HccApp.CatalogServices.Products.IsSkuExist(SkuField.Text.Trim(), prodGuid)) { ucMessageBox.ShowError(Localization.GetString("SkuExists")); return(false); } } p.Sku = SkuField.Text.Trim(); p.ProductName = txtProductName.Text.Trim(); p.ProductTypeId = lstProductType.SelectedValue ?? string.Empty; p.IsUserSuppliedPrice = chkUserPrice.Checked; p.HideQty = chkHideQty.Checked; p.UserSuppliedPriceLabel = txtUserPriceLabel.Text; if (p.IsUserSuppliedPrice || isGC) { p.ListPrice = 0; p.SiteCost = 0; p.SitePrice = 0; p.SitePriceOverrideText = string.Empty; } else { decimal listPrice; if (decimal.TryParse(ListPriceField.Text, NumberStyles.Currency, culture, out listPrice)) { p.ListPrice = Money.RoundCurrency(listPrice); } decimal cost; if (decimal.TryParse(CostField.Text, NumberStyles.Currency, Thread.CurrentThread.CurrentUICulture, out cost)) { p.SiteCost = Money.RoundCurrency(cost); } decimal price; if (decimal.TryParse(SitePriceField.Text, NumberStyles.Currency, Thread.CurrentThread.CurrentUICulture, out price)) { p.SitePrice = Money.RoundCurrency(price); } p.SitePriceOverrideText = PriceOverrideTextBox.Text.Trim(); } p.LongDescription = LongDescriptionField.Text.Trim(); p.ManufacturerId = lstManufacturers.SelectedValue ?? string.Empty; p.VendorId = lstVendors.SelectedValue ?? string.Empty; if (string.IsNullOrEmpty(SmallImageAlternateTextField.Text)) { p.ImageFileSmallAlternateText = p.ProductName + " " + p.Sku; } else { p.ImageFileSmallAlternateText = SmallImageAlternateTextField.Text; } if (string.IsNullOrEmpty(MediumImageAlternateTextField.Text)) { p.ImageFileMediumAlternateText = p.ProductName + " " + p.Sku; } else { p.ImageFileMediumAlternateText = MediumImageAlternateTextField.Text; } p.PreContentColumnId = ddlPreContentColumn.SelectedValue; p.PostContentColumnId = ddlPostContentColumn.SelectedValue; var oldUrl = p.UrlSlug; // no entry, generate one if (p.UrlSlug.Trim().Length < 1) { p.UrlSlug = Text.Slugify(p.ProductName, false); } else { p.UrlSlug = Text.Slugify(txtRewriteUrl.Text, false); } if (UrlRewriter.IsProductSlugInUse(p.UrlSlug, p.Bvin, HccApp)) { ucMessageBox.ShowWarning(Localization.GetString("UrlExists")); return(false); } p.Keywords = txtKeywords.Text.Trim(); p.ProductTypeId = lstProductType.SelectedValue; if (!string.IsNullOrEmpty(lstTaxClasses.SelectedValue)) { p.TaxSchedule = long.Parse(lstTaxClasses.SelectedValue); } else { p.TaxSchedule = -1; } p.MetaTitle = txtMetaTitle.Text.Trim(); p.MetaDescription = txtMetaDescription.Text.Trim(); p.MetaKeywords = txtMetaKeywords.Text.Trim(); decimal weight = 0; decimal.TryParse(txtWeight.Text, NumberStyles.Float, Thread.CurrentThread.CurrentUICulture, out weight); p.ShippingDetails.Weight = weight; decimal length = 0; decimal.TryParse(txtLength.Text, NumberStyles.Float, Thread.CurrentThread.CurrentUICulture, out length); p.ShippingDetails.Length = length; decimal width = 0; decimal.TryParse(txtWidth.Text, NumberStyles.Float, Thread.CurrentThread.CurrentUICulture, out width); p.ShippingDetails.Width = width; decimal height = 0; decimal.TryParse(txtHeight.Text, NumberStyles.Float, Thread.CurrentThread.CurrentUICulture, out height); p.ShippingDetails.Height = height; p.ShippingDetails.ExtraShipFee = Money.RoundCurrency(decimal.Parse(ExtraShipFeeField.Text, NumberStyles.Currency, culture)); p.ShippingMode = (ShippingMode)int.Parse(ddlShipType.SelectedValue); p.ShippingDetails.IsNonShipping = chkNonShipping.Checked; p.ShippingDetails.ShipSeparately = chkShipSeparately.Checked; p.ShippingCharge = (ShippingChargeType)int.Parse(lstShippingCharge.SelectedValue); p.MinimumQty = int.Parse(txtMinimumQty.Text, NumberStyles.Integer, Thread.CurrentThread.CurrentUICulture); p.TaxExempt = TaxExemptField.Checked; p.GiftWrapAllowed = false; if (!string.IsNullOrWhiteSpace(rblAllowReviews.SelectedValue)) { p.AllowReviews = bool.Parse(rblAllowReviews.SelectedValue); } else { p.AllowReviews = null; } p.SwatchPath = swatchpathfield.Text; if (ucImageUploadLarge.HasFile) { var fileName = Text.CleanFileName(Path.GetFileName(ucImageUploadLarge.FileName)); p.ImageFileMedium = fileName; p.ImageFileSmall = fileName; } if (string.IsNullOrEmpty(p.Bvin)) { result = HccApp.CatalogServices.ProductsCreateWithInventory(p, true); } else { result = HccApp.CatalogServices.ProductsUpdateWithSearchRebuild(p); } if (result) { // Create taxonomy tags var taxonomyTags = txtTaxonomyTags.Text.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); HccApp.SocialService.UpdateProductTaxonomy(p, taxonomyTags); // Save images UploadImage(p); // Store propety values var props = HccApp.CatalogServices.ProductPropertiesFindForType(lstProductType.SelectedValue); foreach (var prop in props) { if (_productTypeProperties.ContainsKey(prop.Id)) { HccApp.CatalogServices.ProductPropertyValues.SetPropertyValue(p.Bvin, prop, _productTypeProperties[prop.Id]); } } // Update bvin field so that next save will call updated instead of create ProductId = p.Bvin; if (!string.IsNullOrEmpty(oldUrl) && oldUrl != p.UrlSlug) { HccApp.ContentServices.CustomUrls.Register301(oldUrl, p.UrlSlug, p.Bvin, CustomUrlType.Product, HccApp.CurrentRequestContext, HccApp); UrlsAssociated1.LoadUrls(); } } else { ucMessageBox.ShowError(Localization.GetString("SaveProductFailure")); } } return(result); }
public bool DeleteForProductId(string productId) { var productGuid = DataTypeHelper.BvinToGuid(productId); return(Delete(y => y.ProductID == productGuid)); }
protected override Func <hcc_RMA, bool> MatchItems(RMA item) { var guid = DataTypeHelper.BvinToGuid(item.Bvin); return(rma => rma.bvin == guid); }
void IRecordLoad.AddColumn(string field, Type dataType) { columns.Add(field, dataType); values.Add(field, DataTypeHelper.GetDefaultValue(dataType)); }
/// <summary> /// Delete Product file for given store /// </summary> /// <param name="fileId">File unique identifier</param> /// <param name="storeId">Store unique identifier</param> /// <returns>Returns true if file removed successfully</returns> public bool DeleteForFileId(string fileId, long storeId) { var fileGuid = DataTypeHelper.BvinToGuid(fileId); return(Delete(y => y.ProductFileId == fileGuid && y.StoreId == storeId)); }
public ProductSearchResultAdv DoSearch(ProductSearchQueryAdv query, int pageNumber, int pageSize) { _query = query; var result = new ProductSearchResultAdv(); IQueryable <ProductQuery> dbQuery = null; IQueryable <ProductQuery> dbQueryAll = null; _queryCategories = query.Categories.Select(bvin => DataTypeHelper.BvinToGuid(bvin)).ToList(); _queryTypes = query.Types.Select(bvin => DataTypeHelper.BvinToNullableGuid(bvin)).ToList(); _queryManufactures = query.Manufactures.Select(bvin => DataTypeHelper.BvinToNullableGuid(bvin)).ToList(); _queryVendors = query.Vendors.Select(bvin => DataTypeHelper.BvinToNullableGuid(bvin)).ToList(); var selPropIds = query.Properties.Keys.ToList(); _querySelectedProperties = _context.hcc_ProductProperty.Where(pp => selPropIds.Contains(pp.Id)).ToList(); var productSecurityFilterQuery = _context.hcc_Product.Where(p => p.Status == (int)ProductStatus.Active); if (query.IsConsiderSearchable) { productSecurityFilterQuery = productSecurityFilterQuery.Where(p => p.IsSearchable == query.IsSearchable); } var prodQuery = SecurityFilter(productSecurityFilterQuery); if (query.SortOrder != CategorySortOrder.ProductName && query.SortOrder != CategorySortOrder.ProductNameDescending) { dbQuery = prodQuery.Where(p => p.IsAvailableForSale) .GroupJoin(_propertiesJoin, p => p.bvin, ppvj => ppvj.ppv.Item.ProductBvin, (p, ppvj) => new ProductQuery { p = p, pt = null, ppvj = ppvj.Where(pj => pj.ptypes.Any(pt => pt.ProductTypeBvin == p.ProductTypeId)) }); } else { var productTranslation = _context.hcc_ProductTranslations .Where( it => it.Culture == _reqContext.MainContentCulture || it.Culture == _reqContext.FallbackContentCulture); dbQuery = prodQuery.Where(p => p.IsAvailableForSale) .GroupJoin(productTranslation, p => p.bvin, pt => pt.ProductId, (p, pt) => new { p, pt = pt.OrderBy(ptr => ptr.Culture == _reqContext.MainContentCulture ? 1 : 2) .FirstOrDefault() }) .GroupJoin(_propertiesJoin, p => p.p.bvin, ppvj => ppvj.ppv.Item.ProductBvin, (p, ppvj) => new ProductQuery { p = p.p, pt = p.pt, ppvj = ppvj.Where(pj => pj.ptypes.Any(pt => pt.ProductTypeBvin == p.p.ProductTypeId)) }); } // Fill price info before filtering by price is done result.MinPrice = dbQuery.Min(q => (decimal?)q.p.SitePrice) ?? 0; result.MaxPrice = dbQuery.Max(q => (decimal?)q.p.SitePrice) ?? 0; using (MiniProfiler.Current.Step("Filtering")) { // Filtering results by price dbQuery = FilterByPrice(dbQuery); dbQueryAll = FilterByFacets(dbQuery); switch (query.SortOrder) { case CategorySortOrder.ProductName: dbQueryAll = dbQueryAll.OrderBy(q => q.pt.ProductName); break; case CategorySortOrder.ProductNameDescending: dbQueryAll = dbQueryAll.OrderByDescending(q => q.pt.ProductName); break; case CategorySortOrder.ProductPriceAscending: dbQueryAll = dbQueryAll.OrderBy(q => q.p.SitePrice); break; case CategorySortOrder.ProductPriceDescending: dbQueryAll = dbQueryAll.OrderByDescending(q => q.p.SitePrice); break; case CategorySortOrder.ProductSKUAscending: dbQueryAll = dbQueryAll.OrderBy(q => q.p.SKU); break; case CategorySortOrder.ProductSKUDescending: dbQueryAll = dbQueryAll.OrderByDescending(q => q.p.SKU); break; default: dbQueryAll = dbQueryAll.OrderBy( q => q.p.hcc_ProductXCategory.Where(z => _queryCategories.Contains(z.CategoryId)) .Select(z => z.SortOrder) .FirstOrDefault()); break; } } // Fill facets info using (MiniProfiler.Current.Step("Build Manufactory Facets")) { result.Manufacturers = BuildManufactoryFacets(FilterByFacets(dbQuery, "M")); } using (MiniProfiler.Current.Step("Build Vendors Facets")) { result.Vendors = BuildVendorsFacets(FilterByFacets(dbQuery, "V")); } using (MiniProfiler.Current.Step("Build Types Factes")) { result.Types = BuildTypesFactes(FilterByFacets(dbQuery, "T")); } using (MiniProfiler.Current.Step("Build Property Facets")) { result.Properties = BuildPropertyFacets(FilterByFacets(dbQuery, "P")); } using (MiniProfiler.Current.Step("Build Selections")) { // Fill selected data result.SelectedCategories = BuildSelectedCategories(); result.SelectedVendors = BuildSelectedVendors(); result.SelectedManufacturers = BuildSelectedManufactures(); result.SelectedTypes = BuildSelectedTypes(); result.SelectedProperties = BuildSelectedProperties(); result.SelectedMinPrice = query.MinPrice ?? result.MinPrice; result.SelectedMaxPrice = query.MaxPrice ?? result.MaxPrice; } using (MiniProfiler.Current.Step("Get Products List")) { var skip = (pageNumber - 1) * pageSize; if (skip < 0) { skip = 0; } var productIds = dbQueryAll.Select(q => q.p.bvin); result.TotalCount = productIds.Count(); result.Products = productIds. Skip(skip). Take(pageSize). ToList(). Select(guid => DataTypeHelper.GuidToBvin(guid)). ToList(); } return(result); }
private static List <RepairReport> GetRepairReport(DataTable dt) { List <RepairReport> repairList = new List <RepairReport>(); foreach (DataRow row in dt.Rows) { List <string> beforeList = new List <string>(); List <string> afterList = new List <string>(); RepairReport r = new RepairReport(); r.Id = DataTypeHelper.GetIntValue(row["ID"]); r.SerialNumber = DataTypeHelper.GetStringValue(row["序号"]); r.Department = DataTypeHelper.GetStringValue(row["部门"]); r.Address = DataTypeHelper.GetStringValue(row["地址"]); r.RepairPerson = DataTypeHelper.GetStringValue(row["报修人"]); r.PhoneNumber = DataTypeHelper.GetStringValue(row["联系电话"]); r.ServiceProject = DataTypeHelper.GetStringValue(row["服务项目"]); r.ServiceCategory = DataTypeHelper.GetStringValue(row["服务类别"]); r.Level = DataTypeHelper.GetStringValue(row["紧急程度"]); //r.Identity = DataTypeHelper.GetStringValue(row["身份"]); //r.NeedIn = DataTypeHelper.GetStringValue(row["是否入户"]); r.RepairExplain = DataTypeHelper.GetStringValue(row["报修说明"]); r.RepairTime = DataTypeHelper.GetDateStringValue(row["报修时间"]); r.OrderTime = DataTypeHelper.GetDateStringValue(row["预约服务时间"]); r.VisitTime = DataTypeHelper.GetDateStringValue(row["谈好上门时间"]); r.SendPerson = DataTypeHelper.GetStringValue(row["发单人"]); r.ReceivePerson = DataTypeHelper.GetStringValue(row["接单人"]); r.DispatchTime = DataTypeHelper.GetDateStringValue(row["派工时间"]); r.ArriveTime = DataTypeHelper.GetDateStringValue(row["到场时间"]); r.OperatePerson = DataTypeHelper.GetStringValue(row["操作人"]); r.CompleteTime = DataTypeHelper.GetDateStringValue(row["完成时间"]); r.ChargeType = DataTypeHelper.GetStringValue(row["收费类别"]); r.MaterialExpense = DataTypeHelper.GetDoubleValue(row["材料费"]); r.LaborExpense = DataTypeHelper.GetDoubleValue(row["人工费"]); //r.IsPaid = DataTypeHelper.GetStringValue(row["是否已收"]); //r.IsRead = DataTypeHelper.GetIntValue(row["是否阅读"]); //r.AffirmComplete = DataTypeHelper.GetStringValue(row["业主确认完成"]); //r.AffirmCompleteEvaluation = DataTypeHelper.GetStringValue(row["业主评价"]); //r.AffirmCompleteTime = DataTypeHelper.GetDateStringValue(row["业主确认完成时间"]); //r.IsSatisfying = DataTypeHelper.GetStringValue(row["是否满意"]); //r.CallBackEvaluation = DataTypeHelper.GetStringValue(row["回访意见"]); //r.CallBackPerson = DataTypeHelper.GetStringValue(row["回访人"]); //r.CallBackTime = DataTypeHelper.GetDateStringValue(row["回访时间"]); r.status = DataTypeHelper.GetStringValue(row["状态"]); //r.status = string.IsNullOrEmpty(r.AffirmComplete) ? r.status : "业主已确认"; //r.status = string.IsNullOrEmpty(r.CallBackPerson) ? r.status : "已回访"; r.CompleteStatus = DataTypeHelper.GetStringValue(row["完成情况及所耗物料"]); //r.LateTime = DataTypeHelper.GetDateStringValue(row["预计延期到"]); r.type = DataTypeHelper.GetStringValue(row["上报原因"]); //r.LateReason = DataTypeHelper.GetStringValue(row["延期原因"]); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片1"])); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片2"])); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片3"])); r.BeforeImage = beforeList.ToArray(); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片1"])); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片2"])); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片3"])); r.AfterImage = afterList.ToArray(); repairList.Add(r); } return(repairList); }
public ColorMapTableSetter(ColorMapTable<double> oColorMapTable) { enumDataType dataType = DataTypeHelper.DataType2Enum(typeof(T)); switch (dataType) { case enumDataType.Byte: Func<byte, byte> stByte = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (byte)oColorMapTable.Items[i].MinValue && v < (byte)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stByte; break; case enumDataType.Float: Func<float, byte> stFloat = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (float)oColorMapTable.Items[i].MinValue && v < (float)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stFloat; break; case enumDataType.Double: Func<double, byte> stDouble = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (double)oColorMapTable.Items[i].MinValue && v < (double)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stDouble; break; case enumDataType.UInt16: Func<UInt16, byte> stUInt16 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (UInt16)oColorMapTable.Items[i].MinValue && v < (UInt16)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stUInt16; break; case enumDataType.Int16: Func<Int16, byte> stInt16 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (Int16)oColorMapTable.Items[i].MinValue && v < (Int16)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stInt16; break; case enumDataType.Int32: Func<Int32, byte> stInt32 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (Int32)oColorMapTable.Items[i].MinValue && v < (Int32)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stInt32; break; case enumDataType.UInt32: Func<UInt32, byte> stUInt32 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (UInt32)oColorMapTable.Items[i].MinValue && v < (UInt32)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stUInt32; break; case enumDataType.Int64: Func<Int64, byte> stInt64 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (Int64)oColorMapTable.Items[i].MinValue && v < (Int64)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stInt64; break; case enumDataType.UInt64: Func<UInt64, byte> stUInt64 = (v) => { for (byte i = 0; i < oColorMapTable.Items.Count; i++) if (v >= (UInt64)oColorMapTable.Items[i].MinValue && v < (UInt64)oColorMapTable.Items[i].MaxValue) return (byte)(i + 1); return 255; }; _stretcher = stUInt64; break; } _colorTable = new ColorMapTable<int>(); for (byte i = 1; i <= oColorMapTable.Items.Count; i++) _colorTable.Items.Add(new ColorMapItem<int>(i, i + 1, oColorMapTable.Items[i - 1].Color)); }
/// <summary> /// 设置业主评价信息 /// </summary> /// <param name="evaluation"></param> /// <param name="isSatisfying"></param> /// <param name="id"></param> /// <param name="evaluationTime"></param> /// <param name="evaluationer"></param> /// <returns></returns> //public static StatusReport Evaluation(string evaluation, string isSatisfying, string id, string evaluationTime, string evaluationer) //{ // StatusReport sr = new StatusReport(); // string sqlString = "update 基础资料_服务任务管理 " + // " set 是否满意 = @是否满意," + // " 回访意见 = @回访意见 " + // " 回访人 = @回访人 " + // " 回访时间 = @回访时间 " + // "where ID = @ID"; // sr = SQLHelper.Update("wyt", sqlString, // new SqlParameter("@是否满意", isSatisfying), // new SqlParameter("@回访意见", evaluation), // new SqlParameter("@回访人", evaluation), // new SqlParameter("@回访时间", evaluation), // new SqlParameter("@ID", id)); // return sr; //} public static StatusReport GetRepairStatistics(string ztcode, string level, string userName, string before) { StatusReport sr = new StatusReport(); string sqlString = " SELECT " + " 接单人, " + " 帐套名称, " + " COUNT(CASE WHEN isnull(状态, '') = '' THEN NULL ELSE ID END) AS 接单数, " + " COUNT(CASE WHEN isnull(状态, '') = '已完成' THEN ID ELSE NULL END) AS 完成数, " + " COUNT(CASE WHEN isnull(状态, '') <> '' AND isnull(状态, '') <> '已完成' THEN ID ELSE NULL END) AS 未完成数, " + " COUNT(CASE WHEN 是否满意 = '非常满意' THEN ID ELSE NULL END) AS 非常满意数, " + " COUNT(CASE WHEN 是否满意 = '满意' THEN ID ELSE NULL END) AS 满意数, " + " COUNT(CASE WHEN 是否满意 = '不满意' THEN ID ELSE NULL END) AS 不满意数, " + " COUNT(是否满意) AS 评价总数 " + " FROM dbo.小程序_工单管理 "; string condition = ""; string group = ""; string order = ""; switch (level) { case "一线": { condition = "where 接单人 = @接单人 and 帐套代码 = @帐套代码 " + " and left(CONVERT(varchar(10),报修时间,112),6) >= left(CONVERT(varchar(10),dateadd(month,@before,GETDATE()),112),6) "; group = " group by 帐套名称,接单人 "; order = " order by 帐套名称,接单人 "; sqlString += condition + group + order; DataTable dt = null; dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@接单人", userName), new SqlParameter("@帐套代码", ztcode), new SqlParameter("@before", -Convert.ToInt32(before))); if (dt.Rows.Count == 0) { sr.status = "fail"; sr.result = "未查询到任何数据"; return(sr); } DataRow dr = dt.Rows[0]; RepairStatisticsPersonal rs = new RepairStatisticsPersonal() { name = DataTypeHelper.GetStringValue(dr["接单人"]), ztName = DataTypeHelper.GetStringValue(dr["帐套名称"]), countReceive = Convert.ToString(dr["接单数"]), countFinished = Convert.ToString(dr["完成数"]), countUnfinished = Convert.ToString(dr["未完成数"]), countVerySatisfy = Convert.ToString(dr["非常满意数"]), countSatisfy = Convert.ToString(dr["满意数"]), countUnsatisfy = Convert.ToString(dr["不满意数"]), countEvaluation = Convert.ToString(dr["评价总数"]) }; //string countEvaluation = Convert.ToString(dr["评价总数"]); rs.rateFinish = GetPercent(rs.countFinished, rs.countReceive); rs.rateUnfinish = GetPercent(rs.countUnfinished, rs.countReceive); rs.rateVerySatisfy = GetPercent(rs.countVerySatisfy, rs.countEvaluation); rs.rateSatisfy = GetPercent(rs.countSatisfy, rs.countEvaluation); rs.rateUnsatisfy = GetPercent(rs.countUnsatisfy, rs.countEvaluation); sr.status = "Success"; sr.result = "成功"; sr.data = rs; sr.parameters = sqlString; } break; case "助理": case "项目经理": { condition = "where 帐套代码 = @帐套代码 " + " and left(CONVERT(varchar(10),报修时间,112),6) >= left(CONVERT(varchar(10),dateadd(month,@before,GETDATE()),112),6) "; group = " group by 帐套名称,接单人 "; order = " order by 帐套名称,接单人 "; sqlString += condition + group + order; DataTable dt = null; dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@帐套代码", ztcode), new SqlParameter("@before", -Convert.ToInt32(before))); if (dt.Rows.Count == 0) { sr.status = "fail"; sr.result = "未查询到任何数据"; return(sr); } //string count = "0"; RepairStatisticsProject rsproject = new RepairStatisticsProject(); List <RepairStatisticsPersonal> rspList = new List <RepairStatisticsPersonal>(); foreach (DataRow dr in dt.Rows) { RepairStatisticsPersonal rs = new RepairStatisticsPersonal() { name = DataTypeHelper.GetStringValue(dr["接单人"]), ztName = DataTypeHelper.GetStringValue(dr["帐套名称"]), countReceive = Convert.ToString(dr["接单数"]), countFinished = Convert.ToString(dr["完成数"]), countUnfinished = Convert.ToString(dr["未完成数"]), countVerySatisfy = Convert.ToString(dr["非常满意数"]), countSatisfy = Convert.ToString(dr["满意数"]), countUnsatisfy = Convert.ToString(dr["不满意数"]), countEvaluation = Convert.ToString(dr["评价总数"]) }; //string countEvaluation = Convert.ToString(dr["评价总数"]); rs.rateFinish = GetPercent(rs.countFinished, rs.countReceive); rs.rateUnfinish = GetPercent(rs.countUnfinished, rs.countReceive); rs.rateVerySatisfy = GetPercent(rs.countVerySatisfy, rs.countEvaluation); rs.rateSatisfy = GetPercent(rs.countSatisfy, rs.countEvaluation); rs.rateUnsatisfy = GetPercent(rs.countUnsatisfy, rs.countEvaluation); rspList.Add(rs); rsproject.ztName = rs.ztName; rsproject.countReceive = Convert.ToString(Convert.ToDecimal(rsproject.countReceive) + Convert.ToDecimal(rs.countReceive)); rsproject.countFinished = Convert.ToString(Convert.ToDecimal(rsproject.countFinished) + Convert.ToDecimal(rs.countFinished)); rsproject.countUnfinished = Convert.ToString(Convert.ToDecimal(rsproject.countUnfinished) + Convert.ToDecimal(rs.countUnfinished)); rsproject.countVerySatisfy = Convert.ToString(Convert.ToDecimal(rsproject.countVerySatisfy) + Convert.ToDecimal(rs.countVerySatisfy)); rsproject.countSatisfy = Convert.ToString(Convert.ToDecimal(rsproject.countSatisfy) + Convert.ToDecimal(rs.countSatisfy)); rsproject.countUnsatisfy = Convert.ToString(Convert.ToDecimal(rsproject.countUnsatisfy) + Convert.ToDecimal(rs.countUnsatisfy)); rsproject.countEvaluation = Convert.ToString(Convert.ToDecimal(rsproject.countEvaluation) + Convert.ToDecimal(rs.countEvaluation)); } rsproject.rateFinish = GetPercent(rsproject.countFinished, rsproject.countReceive); rsproject.rateUnfinish = GetPercent(rsproject.countUnfinished, rsproject.countReceive); rsproject.rateVerySatisfy = GetPercent(rsproject.countVerySatisfy, rsproject.countEvaluation); rsproject.rateSatisfy = GetPercent(rsproject.countSatisfy, rsproject.countEvaluation); rsproject.rateUnsatisfy = GetPercent(rsproject.countUnsatisfy, rsproject.countEvaluation); rsproject.repairStatisticsPersonal = rspList.ToArray(); sr.status = "Success"; sr.result = "成功"; sr.data = rsproject; sr.parameters = sqlString; } break; case "公司": { sqlString = " SELECT " + " 帐套名称, " + " COUNT(CASE WHEN isnull(状态, '') = '' THEN NULL ELSE ID END) AS 接单数, " + " COUNT(CASE WHEN isnull(状态, '') = '已完成' THEN ID ELSE NULL END) AS 完成数, " + " COUNT(CASE WHEN isnull(状态, '') <> '' AND isnull(状态, '') <> '已完成' THEN ID ELSE NULL END) AS 未完成数, " + " COUNT(CASE WHEN 是否满意 = '非常满意' THEN ID ELSE NULL END) AS 非常满意数, " + " COUNT(CASE WHEN 是否满意 = '满意' THEN ID ELSE NULL END) AS 满意数, " + " COUNT(CASE WHEN 是否满意 = '不满意' THEN ID ELSE NULL END) AS 不满意数, " + " COUNT(是否满意) AS 评价总数 " + " FROM dbo.小程序_工单管理 "; condition = " where left(CONVERT(varchar(10),报修时间,112),6) >=left(CONVERT(varchar(10),dateadd(month,@before,GETDATE()),112),6) "; group = " group by 帐套名称 "; order = " order by 帐套名称 "; sqlString += condition + group + order; DataTable dt = null; dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@before", -Convert.ToInt32(before))); if (dt.Rows.Count == 0) { sr.status = "fail"; sr.result = "未查询到任何数据"; return(sr); } //string count = "0"; RepairStatisticsCompany rsc = new RepairStatisticsCompany(); List <RepairStatisticsProject> rspList = new List <RepairStatisticsProject>(); foreach (DataRow dr in dt.Rows) { RepairStatisticsProject rsp = new RepairStatisticsProject() { ztName = DataTypeHelper.GetStringValue(dr["帐套名称"]), countReceive = Convert.ToString(dr["接单数"]), countFinished = Convert.ToString(dr["完成数"]), countUnfinished = Convert.ToString(dr["未完成数"]), countVerySatisfy = Convert.ToString(dr["非常满意数"]), countSatisfy = Convert.ToString(dr["满意数"]), countUnsatisfy = Convert.ToString(dr["不满意数"]), countEvaluation = Convert.ToString(dr["评价总数"]) }; //string countEvaluation = Convert.ToString(dr["评价总数"]); rsp.rateFinish = GetPercent(rsp.countFinished, rsp.countReceive); rsp.rateUnfinish = GetPercent(rsp.countUnfinished, rsp.countReceive); rsp.rateVerySatisfy = GetPercent(rsp.countVerySatisfy, rsp.countEvaluation); rsp.rateSatisfy = GetPercent(rsp.countSatisfy, rsp.countEvaluation); rsp.rateUnsatisfy = GetPercent(rsp.countUnsatisfy, rsp.countEvaluation); rspList.Add(rsp); rsc.ztName = rsp.ztName; rsc.countReceive = Convert.ToString(Convert.ToDecimal(rsc.countReceive) + Convert.ToDecimal(rsp.countReceive)); rsc.countFinished = Convert.ToString(Convert.ToDecimal(rsc.countFinished) + Convert.ToDecimal(rsp.countFinished)); rsc.countUnfinished = Convert.ToString(Convert.ToDecimal(rsc.countUnfinished) + Convert.ToDecimal(rsp.countUnfinished)); rsc.countVerySatisfy = Convert.ToString(Convert.ToDecimal(rsc.countVerySatisfy) + Convert.ToDecimal(rsp.countVerySatisfy)); rsc.countSatisfy = Convert.ToString(Convert.ToDecimal(rsc.countSatisfy) + Convert.ToDecimal(rsp.countSatisfy)); rsc.countUnsatisfy = Convert.ToString(Convert.ToDecimal(rsc.countUnsatisfy) + Convert.ToDecimal(rsp.countUnsatisfy)); rsc.countEvaluation = Convert.ToString(Convert.ToDecimal(rsc.countEvaluation) + Convert.ToDecimal(rsp.countEvaluation)); } rsc.rateFinish = GetPercent(rsc.countFinished, rsc.countReceive); rsc.rateUnfinish = GetPercent(rsc.countUnfinished, rsc.countReceive); rsc.rateVerySatisfy = GetPercent(rsc.countVerySatisfy, rsc.countEvaluation); rsc.rateSatisfy = GetPercent(rsc.countSatisfy, rsc.countEvaluation); rsc.rateUnsatisfy = GetPercent(rsc.countUnsatisfy, rsc.countEvaluation); rsc.repairStatisticsProject = rspList.ToArray(); sr.status = "Success"; sr.result = "成功"; sr.data = rsc; sr.parameters = sqlString; } break; } return(sr); }
/// <summary> /// 获取满足条件的工单的列表 /// </summary> /// <param name="openId"></param> /// <param name="ztcode"></param> /// <returns></returns> public static StatusReport GetRepairOrder(string userCode, string ztcode, string status, string orderType) { string orderStatusCondition = status == "未完成" ? " and not(isnull(状态,'') = '已完成') " : " and 状态 = '已完成' "; StatusReport sr = new StatusReport(); string sqlString = " SELECT TOP 100 " + " ID,部门,序号,地址,报修人,联系电话,服务项目,发单人,接单人,报修时间,派工时间,预约服务时间, " + " 完成情况及所耗物料,操作人,完成时间,材料费,人工费,合计,收费类别,主管意见,服务台签字,客户意见, " + " 目录显示,回访时间,回访意见,回访人,到场时间,状态,是否阅读,报修前照片1,报修前照片2,报修前照片3, " + " 处理后照片1,处理后照片2,处理后照片3,报修来源,报修处理时间,报修处理ID,网上报修时间,服务类别,紧急程度, " + " 报修说明,谈好上门时间,帐套代码,帐套名称 " + " FROM 小程序_工单管理 where 帐套代码 = @帐套代码 and year(报修时间) > 2017 and 接单人 = @接单人 "; //" FROM 小程序_工单管理 where 接单人 = @接单人 and 帐套代码 = @帐套代码 "; sqlString += orderStatusCondition; sqlString += (" order by " + orderType + " desc"); //sqlString += orderType == "已完成" ? " order by 完成时间 desc " : " order by ID desc "; DataTable dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@接单人", userCode), new SqlParameter("@帐套代码", ztcode), new SqlParameter("@状态", status)); if (dt.Rows.Count == 0) { sr.status = "Fail"; sr.result = "未查询到任何数据"; return(sr); } //string sqlStr = " select 序号,内容 from 基础资料_服务任务管理设置_入户维修注意事项 where left(DefClass,2) = @分类 "; //DataTable dtCaution = SQLHelper.ExecuteQuery("wyt", sqlStr, new SqlParameter("@分类", ztcode)); //List<RepairCaution> rcList = new List<RepairCaution>(); //if (dtCaution.Rows.Count != 0) //{ // foreach (DataRow drCaution in dtCaution.Rows) // { // RepairCaution rc = new RepairCaution(); // rc.number = DataTypeHelper.GetStringValue(drCaution["序号"]); // rc.content = DataTypeHelper.GetStringValue(drCaution["内容"]); // rcList.Add(rc); // } //} List <Repair> repairList = new List <Repair>(); foreach (DataRow row in dt.Rows) { List <string> beforeList = new List <string>(); List <string> afterList = new List <string>(); Repair r = new Repair { Id = DataTypeHelper.GetIntValue(row["ID"]), SerialNumber = DataTypeHelper.GetStringValue(row["序号"]), Department = DataTypeHelper.GetStringValue(row["部门"]), Address = DataTypeHelper.GetStringValue(row["地址"]), RepairPerson = DataTypeHelper.GetStringValue(row["报修人"]), PhoneNumber = DataTypeHelper.GetStringValue(row["联系电话"]), ServiceProject = DataTypeHelper.GetStringValue(row["服务项目"]), ServiceCategory = DataTypeHelper.GetStringValue(row["服务类别"]), Level = DataTypeHelper.GetStringValue(row["紧急程度"]), //Identity = DataTypeHelper.GetStringValue(row["身份"]), //NeedIn = DataTypeHelper.GetStringValue(row["是否入户"]), RepairExplain = DataTypeHelper.GetStringValue(row["报修说明"]), RepairTime = DataTypeHelper.GetDateStringValue(row["报修时间"]), OrderTime = DataTypeHelper.GetDateStringValue(row["预约服务时间"]), VisitTime = DataTypeHelper.GetDateStringValue(row["谈好上门时间"]), SendPerson = DataTypeHelper.GetStringValue(row["发单人"]), ReceivePerson = DataTypeHelper.GetStringValue(row["接单人"]), DispatchTime = DataTypeHelper.GetDateStringValue(row["派工时间"]), ArriveTime = DataTypeHelper.GetDateStringValue(row["到场时间"]), OperatePerson = DataTypeHelper.GetStringValue(row["操作人"]), CompleteTime = DataTypeHelper.GetDateStringValue(row["完成时间"]), ChargeType = DataTypeHelper.GetStringValue(row["收费类别"]), MaterialExpense = DataTypeHelper.GetDoubleValue(row["材料费"]), LaborExpense = DataTypeHelper.GetDoubleValue(row["人工费"]), //r.IsPaid = DataTypeHelper.GetStringValue(row["是否已收"]); IsRead = DataTypeHelper.GetIntValue(row["是否阅读"]), //r.AffirmComplete = DataTypeHelper.GetStringValue(row["业主确认完成"]); //r.AffirmCompleteEvaluation = DataTypeHelper.GetStringValue(row["业主评价"]); //r.AffirmCompleteTime = DataTypeHelper.GetDateStringValue(row["业主确认完成时间"]); //r.IsSatisfying = DataTypeHelper.GetStringValue(row["是否满意"]); CallBackEvaluation = DataTypeHelper.GetStringValue(row["回访意见"]), CallBackPerson = DataTypeHelper.GetStringValue(row["回访人"]), CallBackTime = DataTypeHelper.GetDateStringValue(row["回访时间"]), status = DataTypeHelper.GetStringValue(row["状态"]) }; //r.status = string.IsNullOrEmpty(r.AffirmComplete) ? r.status : "业主已确认"; //r.status = string.IsNullOrEmpty(r.CallBackPerson) ? r.status : "已回访"; r.CompleteStatus = DataTypeHelper.GetStringValue(row["完成情况及所耗物料"]); //r.LateTime = DataTypeHelper.GetDateStringValue(row["预计延期到"]); //r.LateReason = DataTypeHelper.GetStringValue(row["延期原因"]); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片1"])); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片2"])); beforeList.Add(DataTypeHelper.GetStringValue(row["报修前照片3"])); r.BeforeImage = beforeList.ToArray(); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片1"])); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片2"])); afterList.Add(DataTypeHelper.GetStringValue(row["处理后照片3"])); r.AfterImage = afterList.ToArray(); //r.Cautions = rcList.ToArray(); repairList.Add(r); } sr.status = "Success"; sr.result = "成功"; sr.data = repairList.ToArray(); return(sr); }
public static StatusReport GetCharges(string ztCode, string roomNumber, string userName) { StatusReport sr = new StatusReport() { status = "Success", result = "成功" }; Charge charge = new Charge(); string sqlString = " select 应收款ID as ID " + " from weixin.dbo.应收款APP" + " where 帐套代码 = @帐套代码 " + " and 房号 = @房号 " + " and 占用者名称 = @占用者名称 " + " and 收费状态 IS NULL"; DataTable dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@占用者名称", userName), new SqlParameter("@房号", roomNumber), new SqlParameter("@帐套代码", ztCode)); if (dt.Rows.Count == 0) { sr.status = "Fail"; sr.result = "未查询到符合条件的记录"; return(sr); } List <int?> idList = new List <int?>(); foreach (DataRow row in dt.Rows) { int?id = DataTypeHelper.GetIntValue(row["ID"]); idList.Add(id); } charge.Ids = idList.ToArray(); sqlString = "SELECT 资源编号, 占用者名称, SUM(应收金额) AS 应收总额, MIN(计费年月) + '-' + MAX(计费年月) + 费用名称 AS 费用名称 " + "FROM weixin.dbo.应收款APP " + " where 帐套代码 = @帐套代码 " + " and 房号 = @房号 " + " and 占用者名称 = @占用者名称 " + " and 收费状态 IS NULL " + "GROUP BY 资源编号, 占用者名称, 费用名称 "; dt = SQLHelper.ExecuteQuery("wyt", sqlString, new SqlParameter("@占用者名称", userName), new SqlParameter("@房号", roomNumber), new SqlParameter("@帐套代码", ztCode)); if (dt.Rows.Count == 0) { sr.status = "Fail"; sr.result = "未查询到符合条件的记录"; return(sr); } List <ChargeDetail> chargeList = new List <ChargeDetail>(); foreach (DataRow dr in dt.Rows) { ChargeDetail chargeDetail = new ChargeDetail() { ChargeName = DataTypeHelper.GetStringValue(dr["费用名称"]), Charge = DataTypeHelper.GetDoubleValue(dr["应收总额"]) }; chargeList.Add(chargeDetail); } charge.ChargeDetail = chargeList.ToArray(); sr.data = charge; return(sr); }
public RMA Find(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(FindFirstPoco(y => y.bvin == guid)); }
public Order FindForAllStores(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(FindFirstPoco(o => o.bvin == guid)); }
public bool Delete(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(Delete(y => y.bvin == guid)); }
NotMatchItems(List <OptionItem> items) { var itemGuids = items.Select(i => DataTypeHelper.BvinToGuid(i.Bvin)).ToList(); return(poi => !itemGuids.Contains(poi.Item.bvin)); }
protected override Func <hcc_RMA, bool> NotMatchItems(List <RMA> items) { var itemGuids = items.Select(i => DataTypeHelper.BvinToGuid(i.Bvin)).ToList(); return(rma => !itemGuids.Contains(rma.bvin)); }
internal void CreateSampleAnalyticsByMonth(int month) { var smapleProductSkus = new List <string> { "SAMPLE001", "SAMPLE002", "SAMPLE003", "SAMPLE004", "SAMPLE005", "SAMPLE006" }; var products = CatalogServices.Products.FindManySkus(smapleProductSkus); var productsCount = products.Count; var storeId = Context.CurrentStore.Id; var todaysDate = DateTime.UtcNow; var startDate = todaysDate.AddMonths(-month); EventLog.LogEvent("SampleData", "Creating Analytics info for " + startDate.ToString("Y"), EventLogSeverity.Information); var endDate = startDate.AddMonths(-1); var index = 0; var currDate = startDate; var sessionGuid = Guid.NewGuid(); var analyticsEventsList = new List <AnalyticsEvent>(); var analyticsEventTypes = new[] { ActionTypes.ProductViewed, ActionTypes.ProductAddedToCart }; while (currDate > endDate) { if (currDate != todaysDate) { foreach (var product in products) { for (var i = 0; i < currDate.Month + currDate.Year % 2 + index % 6; i++) { var analyticsEvent = new AnalyticsEvent { SessionGuid = sessionGuid, ShoppingSessionGuid = sessionGuid, StoreId = storeId, Action = analyticsEventTypes[i % 2], ObjectId = DataTypeHelper.BvinToGuid(product.Bvin), DateTime = currDate }; analyticsEventsList.Add(analyticsEvent); sessionGuid = Guid.NewGuid(); } index++; } } currDate = currDate.AddDays(-1); } var analyticsEventsRepository = Factory.CreateRepo <AnalyticsEventsRepository>(); analyticsEventsRepository.BatchCreate(analyticsEventsList); index = 0; currDate = startDate; var ordersList = new List <Order>(); var address = new Address { FirstName = "Ryan", LastName = "Morgan", Line1 = "319 CLEMATIS ST", Line2 = "Suite 500", City = "WEST PALM BCH", RegionBvin = "FL", PostalCode = "44301", CountryBvin = Country.UnitedStatesCountryBvin, Phone = "(561) 714-7926" }; while (currDate > endDate) { if (currDate != todaysDate) { foreach (var product in products) { var order = new Order { bvin = Guid.NewGuid().ToString(), StoreId = storeId, BillingAddress = address, ShippingAddress = address, UserID = "1", UserEmail = "*****@*****.**", OrderNumber = "Sample Order", ShippingMethodId = "TOBEDETERMINED", ShippingProviderId = string.Empty, ShippingProviderServiceCode = string.Empty, ShippingMethodDisplayName = "To Be Determined. Contact Store for Details", PaymentStatus = OrderPaymentStatus.Paid, ShippingStatus = OrderShippingStatus.Unshipped, StatusCode = "F37EC405-1EC6-4a91-9AC4-6836215FBBBC", StatusName = "Received", IsPlaced = true, IsAbandonedEmailSent = true, UserDeviceType = (DeviceType)(index % 3), LastUpdatedUtc = currDate, TimeOfOrderUtc = currDate }; var qty = (currDate.Month + 4 + currDate.Year % 2 + index % 6) % 12 + 4; var lineItem = new LineItem { StoreId = storeId, OrderBvin = order.bvin, ProductId = product.Bvin, ProductSku = product.Sku, ProductName = product.ProductName, Quantity = qty, BasePricePerItem = product.SitePrice, AdjustedPricePerItem = product.SitePrice, LineTotal = product.SitePrice * qty, ShipFromMode = ShippingMode.ShipFromSite, LastUpdatedUtc = currDate }; order.Items.Add(lineItem); ordersList.Add(order); index++; var order2 = new Order { bvin = Guid.NewGuid().ToString(), StoreId = storeId, BillingAddress = address, ShippingAddress = address, UserID = "1", UserEmail = "*****@*****.**", OrderNumber = "Sample Order", ShippingMethodId = "TOBEDETERMINED", ShippingProviderId = string.Empty, ShippingProviderServiceCode = string.Empty, ShippingMethodDisplayName = "To Be Determined. Contact Store for Details", PaymentStatus = OrderPaymentStatus.Paid, ShippingStatus = OrderShippingStatus.Unshipped, StatusCode = OrderStatusCode.Received, StatusName = "Received", IsPlaced = false, IsAbandonedEmailSent = true, UserDeviceType = (DeviceType)(index % 3), LastUpdatedUtc = currDate, TimeOfOrderUtc = currDate }; var qty2 = (currDate.Month + 8 + currDate.Year % 2 + index % 6) % 12 + 2; var lineItem2 = new LineItem { StoreId = storeId, OrderBvin = order2.bvin, ProductId = product.Bvin, ProductSku = product.Sku, ProductName = product.ProductName, Quantity = qty2, BasePricePerItem = product.SitePrice, AdjustedPricePerItem = product.SitePrice, LineTotal = product.SitePrice * qty2, ShipFromMode = ShippingMode.ShipFromSite, LastUpdatedUtc = currDate }; order2.Items.Add(lineItem2); ordersList.Add(order2); index++; } } currDate = currDate.AddDays(-1); } var orderRepository = Factory.CreateRepo <OrderRepository>(); orderRepository.BatchCreate(ordersList, false); var lineItemList = ordersList.SelectMany(o => o.Items).ToList(); var lineItemRepository = Factory.CreateRepo <LineItemRepository>(); lineItemRepository.BatchCreate(lineItemList); var orderTransactionList = new List <OrderTransaction>(); foreach (var order in ordersList) { if (!order.IsPlaced) { continue; } var orderTransaction = new OrderTransaction { StoreId = storeId, OrderId = order.bvin, OrderNumber = "Sample Order", TimeStampUtc = order.TimeOfOrderUtc, Action = ActionType.CashReceived, Amount = order.TotalGrand, Success = true }; orderTransactionList.Add(orderTransaction); } var orderTransactionRepository = Factory.CreateRepo <OrderTransactionRepository>(); orderTransactionRepository.BatchCreate(orderTransactionList); }
public void DeleteForOrder(string orderBvin) { var orderGuid = DataTypeHelper.BvinToGuid(orderBvin); Delete(y => y.OrderId == orderGuid); }
public void Compute(IRasterBand[] srcRasters, RasterQuickStatResult[] results, Action <int, string> progressTracker) { int bandCount = srcRasters.Length; //计算每块包含的行数 int rowsOfBlock = 0; int rowSize = srcRasters[0].Width * DataTypeHelper.SizeOf(srcRasters[0].DataType); if (rowSize >= MAX_BLOCK_SIZE) { rowsOfBlock = 1; } else { rowsOfBlock = MAX_BLOCK_SIZE / rowSize; } //计算总块数 int countBlocks = (int)Math.Ceiling((float)srcRasters[0].Height / rowsOfBlock); //总块数 if (countBlocks == 0) { countBlocks = 1; } if (countBlocks == 1) { rowsOfBlock = srcRasters[0].Height; } //创建参与计算的波段缓存区(缓存区大小==块大小) int width = srcRasters[0].Width; int height = srcRasters[0].Height; int srcCount = srcRasters.Length; GCHandle[] srcHandles = new GCHandle[srcCount]; T[][] srcBuffers = new T[srcCount][]; for (int i = 0; i < srcCount; i++) { srcBuffers[i] = new T[rowsOfBlock * width]; srcHandles[i] = GCHandle.Alloc(srcBuffers[i], GCHandleType.Pinned); } // int bRow = 0; int eRow = 0; int actualCount = 0; int bufferRowCount = 0; float percent = countBlocks / 100f; int ipercent = 0; for (int i = 0; i < countBlocks; i++, bRow += rowsOfBlock) { //确保最后一块的结束行正确 eRow = Math.Min(height, bRow + rowsOfBlock); bufferRowCount = eRow - bRow; //从参与计算的波段中读取第i块数据 for (int iSrc = 0; iSrc < srcCount; iSrc++) { srcRasters[iSrc].Read(0, bRow, width, bufferRowCount, srcHandles[iSrc].AddrOfPinnedObject(), srcRasters[iSrc].DataType, width, bufferRowCount); } //执行波段计算并将计算结果写到目标波段块缓存区 actualCount = bufferRowCount * width; // HandleHistogram(bandCount, srcBuffers, actualCount, results); //打印进度 if (progressTracker != null) { ipercent = (int)(i / percent); progressTracker(ipercent, string.Empty); } } // HandleMeanValues(bandCount, results, srcRasters[0].Width * srcRasters[0].Height); // if (ipercent < 100) { if (progressTracker != null) { progressTracker(100, string.Empty); } } //释放缓存区 for (int i = 0; i < srcCount; i++) { srcHandles[i].Free(); } }
public bool DeleteForProductIdForStore(string productBvin, long storeId) { var productGuid = DataTypeHelper.BvinToGuid(productBvin); return(Delete(y => y.ProductId == productGuid && y.StoreId == storeId)); }
public SingleRegisterCommandModel(ushort address, ConfigurationSettingsModel settings) : base(address, settings) { Value = DataTypeHelper.GetDefaultValue(settings.DataType); }
protected override Func <hcc_ProductImage, bool> MatchItems(ProductImage item) { var guid = DataTypeHelper.BvinToGuid(item.Bvin); return(pi => pi.bvin == guid); }
public void Write(BinaryWriter writer, object value) { var valueType = value?.GetType(); var decType = DataTypeHelper.GetDecreaseDataType(value, valueType); var convValue = (IConvertible)value ?? 0; int objIdx; switch (decType) { case DataType.Decimal: #region Decimal Type var v1 = convValue.ToDecimal(null); if (v1 == default(decimal)) { writer.Write(DataType.DecimalDefault); return; } objIdx = DecimalCache.SerializerGet(v1); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefDecimalByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefDecimalUShort, (ushort)objIdx); } } else { writer.Write(DataType.Decimal); writer.Write(v1); DecimalCache.SerializerSet(v1); } #endregion return; case DataType.Double: #region Double Type var v2 = convValue.ToDouble(null); if (Math.Abs(v2 - default(double)) < 0.0000000000001) { writer.Write(DataType.DoubleDefault); return; } objIdx = DoubleCache.SerializerGet(v2); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefDoubleByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefDoubleUShort, (ushort)objIdx); } } else { WriteHelper.WriteDouble(writer, DataType.Double, v2); DoubleCache.SerializerSet(v2); } #endregion return; case DataType.Float: #region Float Type var v3 = convValue.ToSingle(null); if (Math.Abs(v3 - default(float)) < 0.0000000000001) { writer.Write(DataType.FloatDefault); return; } objIdx = FloatCache.SerializerGet(v3); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefFloatByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefFloatUShort, (ushort)objIdx); } } else { WriteHelper.WriteFloat(writer, DataType.Float, v3); FloatCache.SerializerSet(v3); } #endregion return; case DataType.Long: #region Long Type var v4 = convValue.ToInt64(null); objIdx = LongCache.SerializerGet(v4); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefLongByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefLongUShort, (ushort)objIdx); } } else { WriteHelper.WriteLong(writer, DataType.Long, v4); LongCache.SerializerSet(v4); } #endregion return; case DataType.ULong: #region ULong Type var v5 = convValue.ToUInt64(null); objIdx = ULongCache.SerializerGet(v5); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefULongByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefULongUShort, (ushort)objIdx); } } else { WriteHelper.WriteULong(writer, DataType.ULong, v5); ULongCache.SerializerSet(v5); } #endregion return; case DataType.Int: #region Int Type var v6 = convValue.ToInt32(null); objIdx = IntCache.SerializerGet(v6); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefIntByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefIntUShort, (ushort)objIdx); } } else { WriteHelper.WriteInt(writer, DataType.Int, v6); IntCache.SerializerSet(v6); } #endregion return; case DataType.UInt: #region UInt Type var v7 = convValue.ToUInt32(null); objIdx = UIntCache.SerializerGet(v7); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefUIntByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefUIntUShort, (ushort)objIdx); } } else { WriteHelper.WriteUInt(writer, DataType.UInt, v7); UIntCache.SerializerSet(v7); } #endregion return; case DataType.Short: #region Short Type var v8 = convValue.ToInt16(null); objIdx = ShortCache.SerializerGet(v8); if (objIdx > -1 && objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefShortByte, (byte)objIdx); } else { WriteHelper.WriteShort(writer, DataType.Short, v8); ShortCache.SerializerSet(v8); } #endregion return; case DataType.UShort: #region UShort Type var v9 = convValue.ToUInt16(null); objIdx = UShortCache.SerializerGet(v9); if (objIdx > -1 && objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefUShortByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.UShort, v9); UShortCache.SerializerSet(v9); } #endregion return; case DataType.Byte: #region Byte Type var v10 = convValue.ToByte(null); switch (v10) { case 0: writer.Write(DataType.ByteDefault); return; case 1: writer.Write(DataType.Byte1); return; case 2: writer.Write(DataType.Byte2); return; case 3: writer.Write(DataType.Byte3); return; case 4: writer.Write(DataType.Byte4); return; case 5: writer.Write(DataType.Byte5); return; case 6: writer.Write(DataType.Byte6); return; case 7: writer.Write(DataType.Byte7); return; case 8: writer.Write(DataType.Byte8); return; case 9: writer.Write(DataType.Byte9); return; case 10: writer.Write(DataType.Byte10); return; case 11: writer.Write(DataType.Byte11); return; case 12: writer.Write(DataType.Byte12); return; case 13: writer.Write(DataType.Byte13); return; case 14: writer.Write(DataType.Byte14); return; case 15: writer.Write(DataType.Byte15); return; case 16: writer.Write(DataType.Byte16); return; case 17: writer.Write(DataType.Byte17); return; case 18: writer.Write(DataType.Byte18); return; case 19: writer.Write(DataType.Byte19); return; case 20: writer.Write(DataType.Byte20); return; default: WriteHelper.WriteByte(writer, DataType.Byte, v10); return; } #endregion case DataType.SByte: #region SByte Type var sByte = convValue.ToSByte(null); switch (sByte) { case -1: writer.Write(DataType.SByteMinusOne); return; default: writer.Write(DataType.SByte); writer.Write(sByte); return; } #endregion } }
public ProductImage Find(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(FindFirstPoco(y => y.bvin == guid && y.StoreId == Context.CurrentStore.Id)); }
public void WriteValue(BinaryWriter writer, int value) { #region Static values switch (value) { case -1: writer.Write(DataType.SByteMinusOne); return; case 0: writer.Write(DataType.ByteDefault); return; case 1: writer.Write(DataType.Byte1); return; case 2: writer.Write(DataType.Byte2); return; case 3: writer.Write(DataType.Byte3); return; case 4: writer.Write(DataType.Byte4); return; case 5: writer.Write(DataType.Byte5); return; case 6: writer.Write(DataType.Byte6); return; case 7: writer.Write(DataType.Byte7); return; case 8: writer.Write(DataType.Byte8); return; case 9: writer.Write(DataType.Byte9); return; case 10: writer.Write(DataType.Byte10); return; case 11: writer.Write(DataType.Byte11); return; case 12: writer.Write(DataType.Byte12); return; case 13: writer.Write(DataType.Byte13); return; case 14: writer.Write(DataType.Byte14); return; case 15: writer.Write(DataType.Byte15); return; case 16: writer.Write(DataType.Byte16); return; case 17: writer.Write(DataType.Byte17); return; case 18: writer.Write(DataType.Byte18); return; case 19: writer.Write(DataType.Byte19); return; case 20: writer.Write(DataType.Byte20); return; } #endregion var decType = DataTypeHelper.GetDecreaseDataType(value); int objIdx; switch (decType) { case DataType.Int: #region Int Type objIdx = IntCache.SerializerGet(value); if (objIdx > -1) { if (objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefIntByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.RefIntUShort, (ushort)objIdx); } } else { WriteHelper.WriteInt(writer, DataType.Int, value); IntCache.SerializerSet(value); } #endregion return; case DataType.Short: #region Short Type var v8 = (short)value; objIdx = ShortCache.SerializerGet(v8); if (objIdx > -1 && objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefShortByte, (byte)objIdx); } else { WriteHelper.WriteShort(writer, DataType.Short, v8); ShortCache.SerializerSet(v8); } #endregion return; case DataType.UShort: #region UShort Type var v9 = (ushort)value; objIdx = UShortCache.SerializerGet(v9); if (objIdx > -1 && objIdx <= byte.MaxValue) { WriteHelper.WriteByte(writer, DataType.RefUShortByte, (byte)objIdx); } else { WriteHelper.WriteUshort(writer, DataType.UShort, v9); UShortCache.SerializerSet(v9); } #endregion return; case DataType.Byte: #region Byte Type WriteHelper.WriteByte(writer, DataType.Byte, (byte)value); #endregion return; case DataType.SByte: #region SByte Type writer.Write(DataType.SByte); writer.Write((sbyte)value); #endregion return; } }
/// <summary> /// Get option by unique identifier from all store /// </summary> /// <param name="bvin">Option unique identifier</param> /// <returns>Returns <see cref="Option" /> instance</returns> public Option FindForAllStores(string bvin) { var guid = DataTypeHelper.BvinToGuid(bvin); return(FindFirstPoco(y => y.Item.bvin == guid)); }
public bool DeleteForProductType(string productTypeBvin) { var guid = DataTypeHelper.BvinToGuid(productTypeBvin); return(Delete(y => y.ProductTypeBvin == guid)); }