示例#1
0
        private IEnumerable <CR_EstimationRequisitionItem> GetItems(EST_Item estItem)
        {
            //order by ItemID-->CrColumnCount(D)-->orderNumber
            var items = new List <CR_EstimationRequisitionItem>();

            var specialFields = _db.EST_Item_Specification.Where(x => x.EstItemID == estItem.EstItemID).OrderBy(x => x.OrderNumber).ToList();

            if (!specialFields.Any())
            {
                return(items);
            }
            int i = 1;

            foreach (var sField in specialFields)
            {
                var crSpecial = new CR_EstimationRequisitionItem
                {
                    PrintingEmployeeID = _printingEmployeeID,

                    EstItemID = estItem.EstItemID,

                    OrderNumber = i++,
                    Title       = sField == null ? "" : sField.Title,
                    Contents    = sField == null ? "" : sField.Contents,
                };

                items.Add(crSpecial);
            }

            return(items);
        }
示例#2
0
        public ValidationEstItemSize(EST_Item estItem)
        {
            IsValidated  = true;
            ErrorMessage = "";
            if (estItem.SizeRows == 0)
            {
                return;
            }

            var itemSizes = estItem.EST_Item_Specification_Size.ToList();

            if (!itemSizes.Any())
            {
                IsValidated  = false;
                ErrorMessage = "Size Required" + Environment.NewLine;
                return;
            }

            var size = itemSizes.First();

            if (IsSizeValidated(size))
            {
                return;
            }

            IsValidated  = false;
            ErrorMessage = "Size Details Required" + Environment.NewLine;
        }
示例#3
0
        public void Copy()
        {
            try
            {
                NewEstItem = new EST_Item();
                MyCommon.MyReflection.Copy(_originalItem, NewEstItem);
                //NewEstItem.EstItemID = 0;
                NewEstItem.IsHide        = false;
                NewEstItem.EstRevID      = GetNewEstRevID();
                NewEstItem.SerialID      = GetNewSerialID();
                NewEstItem.EstItemNo     = GetNewItemNumber();
                NewEstItem.Version       = GetNewVersion();
                NewEstItem.ItemOption    = GetNewOption();
                NewEstItem.EstPart       = GetNewPartNumber();
                NewEstItem.StatusID      = GetNewStatus();
                NewEstItem.ItemPurposeID = GetNewPurposeID();
                NewEstItem.DirectionID   = GetNewDirectionID();
                NewEstItem.ProductName   = GetNewProductName();
                _db.EST_Item.Add(NewEstItem);
                _db.SaveChanges();

                CopySize();
                CreateNewSpecialFields();
                CopyDrawings();
                CopyCosts();
            }

            catch (DbEntityValidationException dbEx)
            {
                var s = dbEx.Message;
                throw;
            }
        }
示例#4
0
        public static string GetFullItemName(EST_Item item)
        {
            var s = "Item " + string.Format("{0:D0}", item.EstItemNo);

            s += " -- Ver " + string.Format("{0:D0}", item.Version);
            s += " -- E" + string.Format("{0:D2}", item.SerialID);
            s += "." + string.Format("{0:D2}", item.EstPart);
            s += " -- Opt " + string.Format("{0:D0}", item.ItemOption);
            s += " -- " + item.ProductName;

            return(s);
        }
示例#5
0
        public ValidationEstItem(EST_Item estItem)
        {
            ErrorMessage = "";

            //Common Fields
            ErrorMessage += ValidateCommonFields(estItem);

            //Size
            ErrorMessage += ValidateSizes(estItem);

            //Special Fields;
            ErrorMessage += ValidateSpecialFields(estItem);

            IsValidated = ErrorMessage.Length == 0;
        }
示例#6
0
        private string ValidateSizes(EST_Item estItem)
        {
            return("");

            var mandatorySize = estItem.EST_Item_Specification_Size.FirstOrDefault();

            if (mandatorySize == null)
            {
                return("");
            }
            if (mandatorySize.IsValidated)
            {
                return("");
            }
            return("Item " + estItem.EstItemNo.ToString("D0") + ": " + mandatorySize.ErrorMessage);
        }
示例#7
0
        private string  ValidateCommonFields(EST_Item estItem)
        {
            // Is Previous Estimation Available
            // Qty
            var msg = "";

            if (estItem.IsPreviousEstimationAvailable == (int)NYesNoNotApplicable.NotApplicable)
            {
                msg += "Item " + estItem.EstItemNo.ToString("D0") + ": " + "Is Previous Estimation Avaliable?" + Environment.NewLine;
            }

            if (estItem.Qty <= 0)
            {
                msg += "Item " + estItem.EstItemNo.ToString("D0") + ": " + "Qty Required" + Environment.NewLine;
            }

            return(msg);
        }
示例#8
0
        public MyEstItemBase(EST_Item estItem)
        {
            MyReflection.Copy(estItem, this);

            EstItemNoText = estItem.EstItemNo.ToString("D2");

            SerialNumberText = "SN" + estItem.EstItemID.ToString("");

            QtyText         = estItem.Qty.ToString("D0") + " Set(s)";
            Requirement     = estItem.FW_JOB_TYPE.JOB_TYPE;
            Position        = estItem.RequiredItemPosition.Name;
            Status          = estItem.EST_Item_Status.Name;
            ItemPurposeText = estItem.EST_Item_TablePurpose.Name;
            ItemStatusText  = estItem.EST_Item_Status.Name;
            IsPreviousEstimationAvailableText = "";
            if (IsPreviousEstimationAvailable == (int)NYesNoNotApplicable.Yes)
            {
                IsPreviousEstimationAvailableText = "Yes";
            }

            if (IsPreviousEstimationAvailable == (int)NYesNoNotApplicable.No)
            {
                IsPreviousEstimationAvailableText = "No";
            }

            if (PriceA == null)
            {
                PriceA = 0;
            }

            if (PriceB == null)
            {
                PriceB = 0;
            }

            if (PriceExtra == null)
            {
                PriceExtra = 0;
            }

            CheckBoxID = "mycbxid" + estItem.EstItemID.ToString("");
        }
示例#9
0
        private string  ValidateSpecialFields(EST_Item estItem)
        {
            var msg = "";

            if (estItem.IsTemplateApplicable)
            {
                return(msg);
            }

            var specs = estItem.EST_Item_Specification.ToList();

            foreach (var spec in specs)
            {
                if (spec.IsMandatory & !spec.IsValidated)
                {
                    msg += "Item " + estItem.EstItemNo.ToString("D0") + ": " + spec.ErrorMessage + Environment.NewLine;
                }
            }
            return(msg);
        }
示例#10
0
        public string GetReportDescription(EST_Item estItem)
        {
            var specialFields = _db.EST_Item_Specification.Where(x => x.EstItemID == estItem.EstItemID).OrderBy(x => x.OrderNumber).ToList();

            if (!specialFields.Any())
            {
                return(estItem.Description);
            }
            var s = estItem.Description + System.Environment.NewLine;
            var i = 1;

            foreach (var field in specialFields)
            {
                if (!MyConvert.IsNullString(field.Contents))
                {
                    s += Convert.ToString(i) + ") " + field.Title + ": " + field.Contents + Environment.NewLine;// "<br />";
                    i++;
                }
            }

            return(s);
        }
示例#11
0
        private long CreateNewEstItem(string productName)
        {
            try
            {
                var item = new EST_Item()
                {
                    EstRevID             = _estRevID,
                    SerialID             = EstItemCommon.GetNewSerialID(_estRevID),
                    EstItemNo            = (short)EstItemCommon.GetNewNumber(_estRevID),
                    ProductID            = _product.ProductID,
                    ProductName          = productName,
                    StatusID             = (int)NEstItemStatus.New,
                    EstPart              = 1,
                    ItemOption           = 1,
                    IsFinalOption        = true,
                    Qty                  = 1,
                    RequirementID        = (int)NWorkorderRequirement.Installation,
                    PositionID           = 10,
                    IsTemplateApplicable = true,
                    SizeRows             = _template.SizeTotalRows,
                    EstimatorPrice       = 0,
                    PriceA               = 0,
                    PriceB               = 0,
                    PriceExtra           = 0,
                };

                //Create New EstItem
                _db.EST_Item.Add(item);
                _db.SaveChanges();

                return(item.EstItemID);
            }
            catch (DbEntityValidationException dbEx)
            {
                var s = dbEx.Message;
                throw;
            }
        }
示例#12
0
        private static string GetPowerVoltage(EST_Item item)
        {
            if (item.IsTemplateApplicable)
            {
                return("NA");
            }
            if (!item.EST_Item_Specification.Any())
            {
                return("NA");
            }

            foreach (var spec in item.EST_Item_Specification)
            {
                if (string.IsNullOrEmpty(spec.Title))
                {
                    continue;
                }
                if (spec.Title.ToUpper().Trim() == "VOLTAGE" | spec.Title.ToUpper().Trim() == "POWER VOLTAGE")
                {
                    return(spec.Contents);
                }
            }
            return("NA");
        }
示例#13
0
 public MyEstItemUpdate(long estItemID)
 {
     _estItem = _db.EST_Item.Find(estItemID);
 }
示例#14
0
 public MyEstItemCopy(long originalItemID)
 {
     _originalItem = _db.EST_Item.Find(originalItemID);
 }
示例#15
0
 public MyEstItemDelete(long estItemID)
 {
     _estItemID = estItemID;
     Value      = _db.EST_Item.Find(_estItemID);
 }
示例#16
0
 public MyEstItemDeleteValidationEstimator(long estItemID)
 {
     _value = _db.EST_Item.Find(estItemID);
     SetIsDeletable();
 }
示例#17
0
        private Sales_Dispatching_DrawingRequisition_EstimationItem GetNewSalesDispatchingDrawingRequisitionEstimationItem(EST_Item item, int requisitionID, bool isIncludedWhenPrint = true)
        {
            var reqItem = new Sales_Dispatching_DrawingRequisition_EstimationItem()
            {
                //  public int RequisitionItemID { get; set; }
                RequisitionID       = requisitionID,
                EstItemID           = item.EstItemID,
                Status              = (int)NEstItemStatus.New,
                Qty                 = item.Qty.ToString(""),
                PowerVoltage        = GetPowerVoltage(item),
                Description         = item.Description,
                IsIncludedWhenPrint = isIncludedWhenPrint,
                //IsIncludedWhenPrint =true ,
            };

            return(reqItem);
        }