/// <summary> /// 作者:Kylin /// 时间:2014.03.27 /// 描述:添加产品级别配置 /// </summary> /// <param name="model"></param> /// <param name="loginUserId"></param> /// <returns></returns> public static ProductCourseTypeConfig CreateProductCourseTypeConfig(ProductCourseTypeConfig model, int loginUserId) { using (var edb = new EmeEntities()) { try { if (!edb.ProductCourseTypeConfig.Any(p => p.BranchId == model.BranchId && p.ProductCourseTypeId == model.ProductCourseTypeId)) { var result = edb.ProductCourseTypeConfig.Add(model); edb.SaveChanges(); return result; } else { return null;// config existed } } catch (Exception e) { // 异常日志消息队列 Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs() { ExceptionType = CommonHelper.To<int>(ExceptionType.Function), Message = string.Format("ProductBLL-CreateProductCourseTypeConfig:{0};{1};{2}", e.Message, e.InnerException.Message, e.HelpLink), IsTreat = false, CreateBy = loginUserId, CreateTime = DateTime.Now }); return null; } } }
/// <summary> /// 作者:Primo /// 时间:2014.06.25 /// 描述:重置产品类型配置 /// </summary> /// <param name="productCourseTypeConfigId"></param> /// <param name="productCourseTypeId"></param> /// <param name="branchId"></param> /// <param name="userId"></param> /// <returns></returns> public static bool ResetProductCourseTypeConfig(int productCourseTypeConfigId, int productCourseTypeId, int branchId, int userId) { using (var edb = new EmeEntities()) { try { var result = false; //获取级别所属的原产品中心 var resetModelObjBranchId = edb.Product.Where(p => p.ProductCourseType.Any(a => a.Id == productCourseTypeId && p.Id == a.ProductId && a.Status == ConvertEnum.StatusTypeForActive) && p.Status == ConvertEnum.StatusTypeForActive).Select(s => s.BranchId).FirstOrDefault(); //获取该中心,该级别的复制对象 var resetModelObj = edb.ProductCourseTypeConfig.FirstOrDefault(p => p.ProductCourseTypeId == productCourseTypeId && p.BranchId == resetModelObjBranchId && p.Status == ConvertEnum.StatusTypeForActive); if (null != resetModelObj) { if (productCourseTypeConfigId > 0) { //获取需要重置的对象 var modelObj = edb.ProductCourseTypeConfig.FirstOrDefault(p => p.Id == productCourseTypeConfigId); if (null != modelObj) { modelObj.ProductCourseTypeId = productCourseTypeId; modelObj.BranchId = branchId; modelObj.IsBook = resetModelObj.IsBook; modelObj.MaxBookNum = resetModelObj.MaxBookNum; modelObj.IsRepeatBook = resetModelObj.IsRepeatBook; modelObj.BookLimitType = resetModelObj.BookLimitType; modelObj.BookTime = resetModelObj.BookTime; modelObj.BookTimeType = resetModelObj.BookTimeType; modelObj.PlusBookTime = resetModelObj.PlusBookTime; modelObj.PlusBookTimeType = resetModelObj.PlusBookTimeType; modelObj.UnBookTime = resetModelObj.UnBookTime; modelObj.UnBookTimeType = resetModelObj.UnBookTimeType; modelObj.IsAutoPass = resetModelObj.IsAutoPass; modelObj.IsScore = resetModelObj.IsScore; modelObj.PassScore = resetModelObj.PassScore; modelObj.IsRate = resetModelObj.IsRate; modelObj.IsFT = resetModelObj.IsFT; modelObj.IsLT = resetModelObj.IsLT; modelObj.IsSA = resetModelObj.IsSA; modelObj.Status = ConvertEnum.StatusTypeForActive; modelObj.UpdateBy = userId; modelObj.UpdateTime = DateTime.Now; modelObj.CreateBy = userId; modelObj.CreateTime = DateTime.Now; edb.Entry(modelObj).State = EntityState.Modified; result = edb.SaveChanges() > 0; } } else { var productCourseTypeConfig = new ProductCourseTypeConfig() { ProductCourseTypeId = productCourseTypeId, BranchId = branchId, IsBook = resetModelObj.IsBook, MaxBookNum = resetModelObj.MaxBookNum, IsRepeatBook = resetModelObj.IsRepeatBook, BookLimitType = resetModelObj.BookLimitType, BookTime = resetModelObj.BookTime, BookTimeType = resetModelObj.BookTimeType, PlusBookTime = resetModelObj.PlusBookTime, PlusBookTimeType = resetModelObj.PlusBookTimeType, UnBookTime = resetModelObj.UnBookTime, UnBookTimeType = resetModelObj.UnBookTimeType, IsAutoPass = resetModelObj.IsAutoPass, IsScore = resetModelObj.IsScore, PassScore = resetModelObj.PassScore, IsRate = resetModelObj.IsRate, IsFT = resetModelObj.IsFT, IsLT = resetModelObj.IsLT, IsSA = resetModelObj.IsSA, Status = ConvertEnum.StatusTypeForActive, UpdateBy = userId, UpdateTime = DateTime.Now, CreateBy = userId, CreateTime = DateTime.Now }; edb.Entry(productCourseTypeConfig).State = EntityState.Added; result = edb.SaveChanges() > 0; } } return result; } catch (Exception e) { // 异常日志消息队列 Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs() { ExceptionType = CommonHelper.To<int>(ExceptionType.Function), Message = string.Format("ProductBLL-ResetProductLevelConfig:{0};{1};{2}", e.Message, e.InnerException.Message, e.HelpLink), IsTreat = false, CreateBy = userId, CreateTime = DateTime.Now }); return false; } } }
/// <summary> /// 作者:Kylin /// 时间:2014.03.27 /// 描述:更新产品级别配置 /// </summary> /// <param name="model"></param> /// <param name="loginUserId"></param> /// <returns></returns> public static bool UpdateProductCourseTypeConfig(ProductCourseTypeConfig model, int loginUserId) { using (var edb = new EmeEntities()) { try { var modelObj = edb.ProductCourseTypeConfig.SingleOrDefault(p => p.Id == model.Id && p.Status == ConvertEnum.StatusTypeForActive); if (modelObj == null) return false; modelObj.IsBook = model.IsBook; modelObj.MaxBookNum = model.MaxBookNum; modelObj.IsRepeatBook = model.IsRepeatBook; modelObj.BookLimitType = model.BookLimitType; modelObj.BookTime = model.BookTime; modelObj.BookTimeType = model.BookTimeType; modelObj.PlusBookTime = model.PlusBookTime; modelObj.PlusBookTimeType = model.PlusBookTimeType; modelObj.UnBookTime = model.UnBookTime; modelObj.UnBookTimeType = model.UnBookTimeType; modelObj.IsAutoPass = model.IsAutoPass; modelObj.IsScore = model.IsScore; modelObj.PassScore = model.PassScore; modelObj.IsRate = model.IsRate; modelObj.ProductCourseTypeId = model.ProductCourseTypeId; modelObj.BranchId = model.BranchId; modelObj.IsFT = model.IsFT; modelObj.IsLT = model.IsLT; modelObj.IsSA = model.IsSA; modelObj.UpdateBy = model.UpdateBy; modelObj.UpdateTime = model.UpdateTime; edb.Entry(modelObj).State = EntityState.Modified; var result = edb.SaveChanges() > 0; return result; } catch (Exception e) { // 异常日志消息队列 Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs() { ExceptionType = CommonHelper.To<int>(ExceptionType.Function), Message = string.Format("ProductBLL-UpdateProductCourseTypeConfig:{0};{1};{2}", e.Message, e.InnerException.Message, e.HelpLink), IsTreat = false, CreateBy = loginUserId, CreateTime = DateTime.Now }); return false; } } }
/// <summary> /// 作者:Kylin /// 时间:2014.03.27 /// 描述:撤销产品级别配置 /// </summary> /// <param name="model"></param> /// <param name="loginUserId"></param> /// <returns></returns> public static bool CancelProductCourseTypeConfig(ProductCourseTypeConfig model, int loginUserId) { using (var edb = new EmeEntities()) { try { var modelObj = edb.ProductCourseTypeConfig.SingleOrDefault(p => p.Id == model.Id && p.Status == ConvertEnum.StatusTypeForActive); edb.Entry(modelObj).State = EntityState.Deleted; var result = edb.SaveChanges() > 0; return result; } catch (Exception e) { // 异常日志消息队列 Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs() { ExceptionType = CommonHelper.To<int>(ExceptionType.Function), Message = string.Format("ProductBLL-CancelProductCourseTypeConfig:{0};{1};{2}", e.Message, e.InnerException.Message, e.HelpLink), IsTreat = false, CreateBy = loginUserId, CreateTime = DateTime.Now }); return false; } } }