/// <summary> /// Method that adds new trim format to the duplicated print plant profile /// </summary> /// <returns></returns> public bool AddDuplicatedTrimFormats() { using (var context = new SGGSEntities()) { var trimFormat = new SGGS_SUPPORTED_TRIM_FORMATS { SUPPORTED_PAPER_TYPE_ID = SUPPORTED_PAPER_TYPE, SUPPORTED_BIND_TYPE_ID = SUPPORTED_BINDING_TYPE, PRINT_PLANT_PROFILE_ID = PRINT_PLANT_PROFILE_ID, TRIM_FORMAT_ID = TRIM_FORMAT_ID, TEXT_PAGE_COUNT_MAX = MAX_PAGES, TEXT_PAGE_COUNT_MIN = MIN_PAGES, TRIM_FORMAT_MIN_WIDTH = TRIM_FORMAT_MIN_WIDTH, TRIM_FORMAT_MAX_WIDTH = TRIM_FORMAT_MAX_WIDTH, TRIM_FORMAT_MAX_HEIGHT = TRIM_FORMAT_MAX_HEIGHT, TRIM_FORMAT_MIN_HEIGHT = TRIM_FORMAT_MIN_HEIGHT, OVERRIDE_AUTO_CALCULATION = OVERRIDE_AUTO_CALCULATION, SUPPORTED_PRINT_QUALITY = SUPPORTED_PRINT_QUALITY_ID }; context.SGGS_SUPPORTED_TRIM_FORMATS.AddObject(trimFormat); context.SaveChanges(); return(true); } }
/// <summary> /// Method that adds new trim format to the print plant profile /// </summary> /// <param name="formats">New trim formats added</param> /// <returns></returns> public bool AddSupportedTrimFormats(IList <TrimFormat> formats, bool supportRanges) { if (formats.Count <= 0) { return(false); } using (var context = new SGGSEntities()) { foreach (var item in formats) { var sggsCodePrintQuality = context.SGGS_CODE_PRINT_QUALITY.FirstOrDefault(q => q.PRINT_QUALITY_NUMBER == item.SUPPORTED_PRINT_QUALITY); var trimFormat = new SGGS_SUPPORTED_TRIM_FORMATS { SUPPORTED_PAPER_TYPE_ID = item.SUPPORTED_PAPER_TYPE, SUPPORTED_BIND_TYPE_ID = item.SUPPORTED_BINDING_TYPE, PRINT_PLANT_PROFILE_ID = item.PRINT_PLANT_PROFILE_ID, TRIM_FORMAT_ID = item.TRIM_FORMAT_ID, TEXT_PAGE_COUNT_MAX = item.MAX_PAGES, TEXT_PAGE_COUNT_MIN = item.MIN_PAGES, TRIM_FORMAT_MAX_HEIGHT = item.TRIM_FORMAT_MAX_HEIGHT, TRIM_FORMAT_MIN_HEIGHT = item.TRIM_FORMAT_MIN_HEIGHT, TRIM_FORMAT_MIN_WIDTH = item.TRIM_FORMAT_MIN_WIDTH, TRIM_FORMAT_MAX_WIDTH = item.TRIM_FORMAT_MAX_WIDTH, OVERRIDE_AUTO_CALCULATION = item.OVERRIDE_AUTO_CALCULATION }; if (sggsCodePrintQuality != null) { trimFormat.SUPPORTED_PRINT_QUALITY = sggsCodePrintQuality.PRINT_QUALITY_ID; } if (!CheckTrimFormatIsValid(trimFormat, supportRanges)) { context.SGGS_SUPPORTED_TRIM_FORMATS.AddObject(trimFormat); } } context.SaveChanges(); return(true); } }
/// <summary> /// Update TrimFormat /// </summary> /// <param name="supportedTrimFormatId"></param> /// <param name="minPages"></param> /// <param name="maxPages"></param> /// <param name="minWidth"></param> /// <param name="maxWidth"></param> /// <param name="minHeight"></param> /// <param name="maxHeight"></param> /// <param name="overriding"></param> /// <param name="supportRanges"></param> /// <returns></returns> public string UpdatingTrimFormat(long supportedTrimFormatId, string minPages, string maxPages, string minWidth, string maxWidth, string minHeight, string maxHeight, bool overriding, bool supportRanges) { using (var context = new SGGSEntities()) { SGGS_SUPPORTED_TRIM_FORMATS dataFound = null; var trimFormat = context.SGGS_SUPPORTED_TRIM_FORMATS.FirstOrDefault(x => x.SUPPORTED_TRIM_FORMATS_ID == supportedTrimFormatId); if (trimFormat == null) { return("notExists"); } if (!supportRanges && overriding) { var maxP = Convert.ToInt32(maxPages); var minP = Convert.ToInt32(minPages); dataFound = context.SGGS_SUPPORTED_TRIM_FORMATS.FirstOrDefault(tf => tf.SUPPORTED_TRIM_FORMATS_ID != trimFormat.SUPPORTED_TRIM_FORMATS_ID && tf.PRINT_PLANT_PROFILE_ID == trimFormat.PRINT_PLANT_PROFILE_ID && tf.SUPPORTED_PAPER_TYPE_ID == trimFormat.SUPPORTED_PAPER_TYPE_ID && tf.SUPPORTED_BIND_TYPE_ID == trimFormat.SUPPORTED_BIND_TYPE_ID && tf.TRIM_FORMAT_ID == trimFormat.TRIM_FORMAT_ID && tf.SUPPORTED_PRINT_QUALITY == trimFormat.SUPPORTED_PRINT_QUALITY && tf.TEXT_PAGE_COUNT_MAX == maxP && tf.TEXT_PAGE_COUNT_MIN == minP && tf.TRIM_FORMAT_MIN_WIDTH == null && tf.TRIM_FORMAT_MAX_WIDTH == null && tf.TRIM_FORMAT_MIN_HEIGHT == null && tf.TRIM_FORMAT_MAX_HEIGHT == null && tf.OVERRIDE_AUTO_CALCULATION == overriding); if (dataFound == null) { return(Update(supportedTrimFormatId, Convert.ToInt32(minPages), Convert.ToInt32(maxPages), null, null, null, null, overriding)); } } else if (!supportRanges && !overriding) { dataFound = context.SGGS_SUPPORTED_TRIM_FORMATS.FirstOrDefault(tf => tf.SUPPORTED_TRIM_FORMATS_ID != trimFormat.SUPPORTED_TRIM_FORMATS_ID && tf.PRINT_PLANT_PROFILE_ID == trimFormat.PRINT_PLANT_PROFILE_ID && tf.SUPPORTED_PAPER_TYPE_ID == trimFormat.SUPPORTED_PAPER_TYPE_ID && tf.SUPPORTED_BIND_TYPE_ID == trimFormat.SUPPORTED_BIND_TYPE_ID && tf.TRIM_FORMAT_ID == trimFormat.TRIM_FORMAT_ID && tf.SUPPORTED_PRINT_QUALITY == trimFormat.SUPPORTED_PRINT_QUALITY && tf.TEXT_PAGE_COUNT_MAX == null && tf.TEXT_PAGE_COUNT_MIN == null && tf.TRIM_FORMAT_MIN_WIDTH == null && tf.TRIM_FORMAT_MAX_WIDTH == null && tf.TRIM_FORMAT_MIN_HEIGHT == null && tf.TRIM_FORMAT_MAX_HEIGHT == null && tf.OVERRIDE_AUTO_CALCULATION == overriding); if (dataFound == null) { return(Update(supportedTrimFormatId, null, null, null, null, null, null, overriding)); } } else if (supportRanges && !overriding) { var maxW = Math.Round(Convert.ToDecimal(maxWidth), 5); var minW = Math.Round(Convert.ToDecimal(minWidth), 5); var minH = Math.Round(Convert.ToDecimal(minHeight), 5); var maxH = Math.Round(Convert.ToDecimal(maxHeight), 5); dataFound = context.SGGS_SUPPORTED_TRIM_FORMATS.FirstOrDefault(tf => tf.SUPPORTED_TRIM_FORMATS_ID != trimFormat.SUPPORTED_TRIM_FORMATS_ID && tf.PRINT_PLANT_PROFILE_ID == trimFormat.PRINT_PLANT_PROFILE_ID && tf.SUPPORTED_PAPER_TYPE_ID == trimFormat.SUPPORTED_PAPER_TYPE_ID && tf.SUPPORTED_BIND_TYPE_ID == trimFormat.SUPPORTED_BIND_TYPE_ID && tf.TRIM_FORMAT_ID == null && tf.SUPPORTED_PRINT_QUALITY == trimFormat.SUPPORTED_PRINT_QUALITY && tf.TEXT_PAGE_COUNT_MAX == null && tf.TEXT_PAGE_COUNT_MIN == null && tf.TRIM_FORMAT_MIN_WIDTH == minW && tf.TRIM_FORMAT_MAX_WIDTH == maxW && tf.TRIM_FORMAT_MIN_HEIGHT == minH && tf.TRIM_FORMAT_MAX_HEIGHT == maxH && tf.OVERRIDE_AUTO_CALCULATION == overriding); if (dataFound == null) { return(Update(supportedTrimFormatId, null, null, Math.Round(Convert.ToDecimal(minWidth), 5), Math.Round(Convert.ToDecimal(maxWidth), 5), Math.Round(Convert.ToDecimal(minHeight), 5), Math.Round(Convert.ToDecimal(maxHeight), 5), overriding)); } } return(dataFound != null ? "exists" : string.Empty); } }
/// <summary> /// Check if the new Trim Format exists or the paper type is correct. /// </summary> /// <param name="format"></param> /// <returns></returns> public bool CheckTrimFormatIsValid(SGGS_SUPPORTED_TRIM_FORMATS format, bool supportRanges) { var IsExcluded = false; using (var context = new SGGSEntities()) { SGGS_SUPPORTED_TRIM_FORMATS isFound = null; if (!supportRanges) { isFound = context.SGGS_SUPPORTED_TRIM_FORMATS.Where( tf => tf.PRINT_PLANT_PROFILE_ID == format.PRINT_PLANT_PROFILE_ID && tf.SUPPORTED_PAPER_TYPE_ID == format.SUPPORTED_PAPER_TYPE_ID && tf.SUPPORTED_BIND_TYPE_ID == format.SUPPORTED_BIND_TYPE_ID && tf.TRIM_FORMAT_ID == format.TRIM_FORMAT_ID && tf.SUPPORTED_PRINT_QUALITY == format.SUPPORTED_PRINT_QUALITY) .Select(s => s).FirstOrDefault(); } else { isFound = context.SGGS_SUPPORTED_TRIM_FORMATS.Where( tf => tf.PRINT_PLANT_PROFILE_ID == format.PRINT_PLANT_PROFILE_ID && tf.SUPPORTED_PAPER_TYPE_ID == format.SUPPORTED_PAPER_TYPE_ID && tf.SUPPORTED_BIND_TYPE_ID == format.SUPPORTED_BIND_TYPE_ID && tf.SUPPORTED_PRINT_QUALITY == format.SUPPORTED_PRINT_QUALITY && tf.TRIM_FORMAT_MAX_HEIGHT == format.TRIM_FORMAT_MAX_HEIGHT && tf.TRIM_FORMAT_MIN_HEIGHT == format.TRIM_FORMAT_MIN_HEIGHT && tf.TRIM_FORMAT_MAX_WIDTH == format.TRIM_FORMAT_MAX_WIDTH && tf.TRIM_FORMAT_MIN_WIDTH == format.TRIM_FORMAT_MIN_WIDTH) .Select(s => s).FirstOrDefault(); } if (isFound != null) { if (HttpContext.Current.Session["ExcludedTrimFormats"] == null) { EXCLUDED_PAPER_TYPES = new List <SGGS_SUPPORTED_TRIM_FORMATS>(); } else { EXCLUDED_PAPER_TYPES = HttpContext.Current.Session["ExcludedTrimFormats"] as List <SGGS_SUPPORTED_TRIM_FORMATS>; } EXCLUDED_PAPER_TYPES.Add(isFound); HttpContext.Current.Session["ExcludedTrimFormats"] = EXCLUDED_PAPER_TYPES; IsExcluded = true; } //Check if Supported Paper Type is validates for the Trim Format Quality else { var suppPaperType = context.SGGS_SUPPORTED_PAPER_TYPE.FirstOrDefault(x => x.SUPPORTED_PAPER_TYPE_ID == format.SUPPORTED_PAPER_TYPE_ID); var trimFormatquality = (from cpq in context.SGGS_CODE_PRINT_QUALITY where cpq.PRINT_QUALITY_ID == format.SUPPORTED_PRINT_QUALITY select cpq.PRINT_QUALITY_NUMBER).FirstOrDefault(); if (trimFormatquality != null) { if (trimFormatquality.Equals("HQ") && suppPaperType.TEXT_HIGH_QUALITY == false) { if (HttpContext.Current.Session["ExcludedTrimFormats"] == null) { EXCLUDED_PAPER_TYPES = new List <SGGS_SUPPORTED_TRIM_FORMATS>(); } else { EXCLUDED_PAPER_TYPES = HttpContext.Current.Session["ExcludedTrimFormats"] as List <SGGS_SUPPORTED_TRIM_FORMATS>; } EXCLUDED_PAPER_TYPES.Add(format); HttpContext.Current.Session["ExcludedTrimFormats"] = EXCLUDED_PAPER_TYPES; IsExcluded = true; } else if (trimFormatquality.Equals("NQ") && suppPaperType.TEXT_NORMAL_QUALITY == false) { if (HttpContext.Current.Session["ExcludedTrimFormats"] == null) { EXCLUDED_PAPER_TYPES = new List <SGGS_SUPPORTED_TRIM_FORMATS>(); } else { EXCLUDED_PAPER_TYPES = HttpContext.Current.Session["ExcludedTrimFormats"] as List <SGGS_SUPPORTED_TRIM_FORMATS>; } EXCLUDED_PAPER_TYPES.Add(format); HttpContext.Current.Session["ExcludedTrimFormats"] = EXCLUDED_PAPER_TYPES; IsExcluded = true; } } else if (suppPaperType.TEXT_HIGH_QUALITY == true || suppPaperType.TEXT_NORMAL_QUALITY == true) { if (HttpContext.Current.Session["ExcludedTrimFormats"] == null) { EXCLUDED_PAPER_TYPES = new List <SGGS_SUPPORTED_TRIM_FORMATS>(); } else { EXCLUDED_PAPER_TYPES = HttpContext.Current.Session["ExcludedTrimFormats"] as List <SGGS_SUPPORTED_TRIM_FORMATS>; } EXCLUDED_PAPER_TYPES.Add(format); HttpContext.Current.Session["ExcludedTrimFormats"] = EXCLUDED_PAPER_TYPES; IsExcluded = true; } } } return(IsExcluded); }