Exemple #1
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <returns>获取成功返回true,否则false</returns>
        public bool GetBaseInfo()
        {
            m_listLinkMan        = new List <P_ProviderLinkMan>();
            m_listPrincipal      = new List <ProviderPrincipal>();
            m_listProvidersGoods = new List <P_ProviderGoods>();
            m_providerBaseInfo   = new P_ProvidersBaseInfo();

            m_providerBaseInfo.Address = txtAddress.Text;

            if (m_picbyte != null)
            {
                m_providerBaseInfo.Annex     = m_picbyte;
                m_providerBaseInfo.AnnexName = m_pathName;
            }

            m_providerBaseInfo.BankCode          = txtBankCode.Text;
            m_providerBaseInfo.CompanyWeb        = txtCompanyWeb.Text;
            m_providerBaseInfo.Email             = txtEmail.Text;
            m_providerBaseInfo.FaxNo             = txtFaxNo.Text;
            m_providerBaseInfo.IsPapers          = cmbIsPapers.Text == "是" ? true : false;
            m_providerBaseInfo.LegalRepresenta   = txtLegalRepresenta.Text;
            m_providerBaseInfo.OpenBank          = txtOpenBank.Text;
            m_providerBaseInfo.OpenInvoiceNumber = txtOpenInvoiceNumber.Text;
            m_providerBaseInfo.Postcode          = txtPostcode.Text;
            m_providerBaseInfo.Property          = cmbProperty.Text;
            m_providerBaseInfo.ProviderCode      = txtProviderCode.Text;
            m_providerBaseInfo.ProviderName      = txtProviderName.Text;
            m_providerBaseInfo.ProviderType      = cmbProviderType.Text;
            m_providerBaseInfo.Record            = BasicInfo.LoginID;
            m_providerBaseInfo.RecordDate        = ServerTime.Time;
            m_providerBaseInfo.Remark            = txtRemark.Text;
            m_providerBaseInfo.ShortName         = txtShortName.Text;
            m_providerBaseInfo.Status            = cmbStatus.Text;
            m_providerBaseInfo.TaxpayerNumber    = txtTaxpayerNumber.Text;

            for (int i = 0; i < dgvDutyOfficer.Rows.Count; i++)
            {
                ProviderPrincipal principal = new ProviderPrincipal();

                principal.IsMainDuty      = Convert.ToBoolean(dgvDutyOfficer.Rows[i].Cells["是否主要责任人"].Value);
                principal.PrincipalWorkId = dgvDutyOfficer.Rows[i].Cells["员工编号"].Value.ToString();
                principal.Provider        = txtProviderCode.Text;

                m_listPrincipal.Add(principal);
            }

            for (int i = 0; i < dgvGoods.Rows.Count; i++)
            {
                P_ProviderGoods goodsInfo = new P_ProviderGoods();

                goodsInfo.GoodsCode = dgvGoods.Rows[i].Cells["图号型号"].Value.ToString();
                goodsInfo.GoodsName = dgvGoods.Rows[i].Cells["物品名称"].Value.ToString();
                goodsInfo.Spec      = dgvGoods.Rows[i].Cells["规格"].Value.ToString();
                goodsInfo.Price     = Convert.ToDecimal(dgvGoods.Rows[i].Cells["购买价"].Value);
                goodsInfo.Quote     = Convert.ToDecimal(dgvGoods.Rows[i].Cells["报价"].Value);
                goodsInfo.Remark    = dgvGoods.Rows[i].Cells["备注"].Value.ToString();
                goodsInfo.Status    = dgvGoods.Rows[i].Cells["零件状态"].Value.ToString();
                goodsInfo.Type      = m_providerServer.GetGoodsType(dgvGoods.Rows[i].Cells["零件类别"].Value.ToString()).ID;

                m_listProvidersGoods.Add(goodsInfo);
            }

            for (int i = 0; i < dgvLinkMan.Rows.Count; i++)
            {
                P_ProviderLinkMan linkman = new P_ProviderLinkMan();

                linkman.Email        = (string)dgvLinkMan.Rows[i].Cells["电子邮件地址"].Value;
                linkman.FaxNo        = (string)dgvLinkMan.Rows[i].Cells["传真号码"].Value;
                linkman.Mobilephone  = (string)dgvLinkMan.Rows[i].Cells["手机号码"].Value;
                linkman.Name         = dgvLinkMan.Rows[i].Cells["姓名"].Value.ToString();
                linkman.Position     = (string)dgvLinkMan.Rows[i].Cells["职位"].Value;
                linkman.ProviderCode = txtProviderCode.Text;
                linkman.Remark       = (string)dgvLinkMan.Rows[i].Cells["备注"].Value;
                linkman.Sex          = (string)dgvLinkMan.Rows[i].Cells["性别"].Value;
                linkman.Telephone    = (string)dgvLinkMan.Rows[i].Cells["电话号码"].Value;

                m_listLinkMan.Add(linkman);
            }

            return(true);
        }
        /// <summary>
        /// 添加/修改部门信息表
        /// </summary>
        /// <param name="providerCode">供应商编码</param>
        /// <param name="providerName">供应商名称</param>
        /// <param name="shortName">简称</param>
        /// <param name="personnel">责任人</param>
        /// <param name="isOdd">是否关联责任人</param>
        /// <param name="isUse">是否在用</param>
        /// <param name="isMainDuty">是否为主要责任人</param>
        /// <param name="returnBill">部门信息表</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <param name="isInternalSupplier">是否为内部供应商</param>
        /// <param name="clearingForm">挂账方式</param>
        /// <param name="yearMonth">追溯年月</param>
        /// <returns>返回是否成功添加/修改部门信息表</returns>
        public bool AddProvider(string providerCode, string providerName, string shortName,
                                string personnel, out IQueryable <View_Provider> returnBill, out string error,
                                bool isOdd, bool isUse, bool isMainDuty, bool isInternalSupplier, string clearingForm, string yearMonth)
        {
            returnBill = null;
            error      = null;

            DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

            try
            {
                if (clearingForm == "用量" && yearMonth.Trim().Length != 6)
                {
                    throw new Exception("【用量挂账】需填写【追溯年月】");
                }

                Table <Provider>          billtable          = dataContxt.GetTable <Provider>();
                Table <ProviderPrincipal> billPrincipalTable = dataContxt.GetTable <ProviderPrincipal>();

                var billGather = from c in billtable
                                 where c.ProviderCode == providerCode
                                 select c;

                var billPrincipal = from c in billPrincipalTable
                                    where c.Provider == providerCode && c.PrincipalWorkId == personnel
                                    select c;

                int intSameNoteCount      = billGather.Count <Provider>();
                int intDiffrentNodteCount = billPrincipal.Count <ProviderPrincipal>();

                if (intSameNoteCount != 0 && intDiffrentNodteCount != 0)
                {
                    error = "不可重复添加相同关系表";
                    return(false);
                }
                else
                {
                    if (intSameNoteCount == 0)
                    {
                        Provider tableProvider = new Provider();

                        tableProvider.ProviderCode       = providerCode;
                        tableProvider.ProviderName       = providerName;
                        tableProvider.ShortName          = shortName;
                        tableProvider.PY                 = UniversalFunction.GetPYWBCode(providerName, "PY");
                        tableProvider.WB                 = UniversalFunction.GetPYWBCode(providerName, "WB");
                        tableProvider.IsUse              = isUse;
                        tableProvider.IsOddProvider      = isOdd;
                        tableProvider.IsInternalSupplier = isInternalSupplier;
                        tableProvider.ClearingForm       = clearingForm;
                        tableProvider.AscendYearMonth    = clearingForm == "入库" ? null : yearMonth;

                        dataContxt.Provider.InsertOnSubmit(tableProvider);
                        dataContxt.SubmitChanges();
                    }

                    #region  添加到关系表中
                    ProviderPrincipal tableProviderPrincipal = new ProviderPrincipal();

                    tableProviderPrincipal.Provider        = providerCode;
                    tableProviderPrincipal.PrincipalWorkId = personnel;
                    tableProviderPrincipal.IsMainDuty      = isMainDuty;
                    dataContxt.ProviderPrincipal.InsertOnSubmit(tableProviderPrincipal);

                    dataContxt.SubmitChanges();
                    #endregion

                    GetAllProvider(out returnBill, out error);
                }

                return(true);
            }
            catch (Exception err)
            {
                return(SetReturnError1(err, out returnBill, out error));
            }
        }