public static Serviceheader SaveSerHeader(long sheetId, ServiceStatus status, string dealer, string branch, string enNum, string plateNum, string frameNum, string model, string color, string err, string solution, string exchangeNum, int serType, Customer cust, long km, long fee, long total, DateTime serDate, DateTime buyDate, out WarrantyContentErrorCode errCode)
        {
            errCode = WarrantyContentErrorCode.SaveHeaderFailed;

            if (string.IsNullOrEmpty(dealer) || string.IsNullOrEmpty(branch)) return null;

            Serviceheader serH = null;
            if (
                ((!string.IsNullOrEmpty(err.Trim()))
                && (cust != null)
                && (!string.IsNullOrEmpty(model))
                && (!string.IsNullOrEmpty(color)))
                ||
                (status < 0)
                )
            {
                IDao<Serviceheader, long> dao = DaoFactory.GetDao<Serviceheader, long>();

                serH = dao.GetById(sheetId, false); //true -> false
                if (serH == null)
                {
                    serH = new Serviceheader();
                }

                serH.Branchcode = branch;
                serH.Customer = cust;
                serH.Colorcode = color;
                serH.Damaged = err.Trim();
                serH.Dealercode = dealer;
                serH.Enginenumber = enNum.Trim().ToUpper();
                serH.Feeamount = fee;
                serH.Framenumber = frameNum;
                serH.Itemtype = model;
                serH.Kmcount = km;
                serH.Numberplate = plateNum.Trim().ToUpper();
                serH.Purchasedate = buyDate;
                serH.Repairresult = solution.Trim();
                serH.Servicedate = serDate;
                serH.Servicesheetnumber = GenSheetNumber(status == ServiceStatus.Temp, dealer);
                serH.Servicetype = serType;
                serH.Totalamount = total;
                serH.Status = (int)status;
                serH.Createby = UserHelper.Username;

                try { dao.SaveOrUpdate(serH); }
                catch { serH = null; }
            }

            errCode = WarrantyContentErrorCode.OK;
            return serH;
        }
 protected void AddError(WarrantyContentErrorCode error)
 {
     if (errorCode.Contains(error)) return;
     errorCode.Add(error);
 }
        public static Serviceheader SaveSerHeader(Serviceheader serH, out WarrantyContentErrorCode errCode)
        {
            errCode = WarrantyContentErrorCode.SaveHeaderFailed;

            if (string.IsNullOrEmpty(serH.Dealercode) || string.IsNullOrEmpty(serH.Branchcode)) return null;
            if (
                ((!string.IsNullOrEmpty(serH.Damaged.Trim()))
                && (serH.Customer != null)
                && (!string.IsNullOrEmpty(serH.Itemtype))
                && (!string.IsNullOrEmpty(serH.Colorcode)))
                ||
                (serH.Status < 0)
               )
            {
                IDao<Serviceheader, long> dao = DaoFactory.GetDao<Serviceheader, long>();
                serH.Servicesheetnumber = GenSheetNumber(serH.Status == (int)ServiceStatus.Temp, serH.Dealercode);
                serH.Createby = UserHelper.Username;
                try
                {
                    serH = dao.SaveOrUpdateCopy(serH);
                    errCode = WarrantyContentErrorCode.OK;
                }
                catch { serH = null; }
            }

            return serH;
        }