예제 #1
0
        public override ActionResult Add(ProduceTask producetask)
        {
            ContractItem item = this.service.GetGenericService <ContractItem>().Get(producetask.ContractItemsID);

            producetask.ConStrength = item.ConStrength;
            return(base.Add(producetask));
        }
예제 #2
0
        public int AddContractDetail(ContractItem input)
        {
            int result = CRUDStatusCode.ERROR;

            if (input != null)
            {
                bool isExisted = _contractItemRepository.Exist(t => t.ContractCode == input.ContractCode &&
                                                               t.ProductName == input.ProductName);
                if (!isExisted)
                {
                    input.StatusId       = CommonStatus.ACTIVE;
                    input.CreateDate     = Utilities.GetServerDateTimeNow();
                    input.LastUpdateDate = Utilities.GetServerDateTimeNow();
                    input.LastUpdateBy   = Common.Session.GetId();
                    _contractItemRepository.Add(input);
                    result = CRUDStatusCode.SUCCESS;
                }
                else
                {
                    result = CRUDStatusCode.EXISTED;
                }
            }

            return(result);
        }
예제 #3
0
 public ItemDetails(ContractItem item)
 {
     InitializeComponent();
     lb_itemID.Text = item.ItemId.ToString();
     lb_typeID.Text = item.TypeId.ToString();
     lb_TYPE.Text   = item.Type?.ToString() ?? "type not loaded";
 }
예제 #4
0
        public ContractItem CreateContractDetail(ContractItem input)
        {
            ContractItem result = null;

            if (input != null)
            {
                bool isExisted = _contractItemRepository.Exist(t => t.ContractCode == input.ContractCode &&
                                                               t.ProductName == input.ProductName &&
                                                               t.StatusId == Constants.CommonStatus.ACTIVE);
                if (!isExisted)
                {
                    input.StatusId       = CommonStatus.ACTIVE;
                    input.CreateDate     = Utilities.GetServerDateTimeNow();
                    input.LastUpdateDate = Utilities.GetServerDateTimeNow();
                    input.LastUpdateBy   = Common.Session.GetId();

                    result = _contractItemRepository.Create(input);
                }
                else
                {
                    //In case existed check result id = 0;
                    result = new ContractItem()
                    {
                        Id = 0
                    };
                }
            }

            return(result);
        }
예제 #5
0
 public bool Import(string contractID, string[] conStrength)
 {
     if (conStrength == null)
     {
         throw new Exception(":没有合同明细需要导入");
     }
     using (var tx = this.m_UnitOfWork.BeginTransaction())
     {
         try
         {
             IRepositoryBase <ContractItem> itemResp = this.m_UnitOfWork.GetRepositoryBase <ContractItem>();
             foreach (string item in conStrength)
             {
                 ContractItem temp = new ContractItem();
                 temp.ContractID  = contractID;
                 temp.ConStrength = item;
                 itemResp.Add(temp);
             }
             tx.Commit();
             return(true);
         }
         catch
         {
             tx.Rollback();
             throw;
         }
     }
 }
예제 #6
0
파일: Parser.cs 프로젝트: thisiscam/formula
        private void StartPropContract(ContractKind kind, Span span)
        {
            Contract.Requires(currentModule != null);
            Contract.Requires(currentModule.CanHaveContract(kind));
            Contract.Requires(kind != ContractKind.RequiresSome && kind != ContractKind.RequiresAtLeast && kind != ContractKind.RequiresAtMost);

            crntContract = new ContractItem(span, kind);

            switch (currentModule.NodeKind)
            {
            case NodeKind.Model:
                ((Model)currentModule).AddContract(crntContract);
                break;

            case NodeKind.Transform:
                ((Transform)currentModule).AddContract(crntContract);
                break;

            case NodeKind.Domain:
                ((Domain)currentModule).AddConforms(crntContract);
                break;

            default:
                throw new NotImplementedException();
            }

            if (crntSentConf != null)
            {
                crntContract.SetConfig(crntSentConf);
                crntSentConf = null;
            }
        }
예제 #7
0
        public int EditContractDetail(ContractItem input)
        {
            int  result       = CRUDStatusCode.ERROR;
            var  ContractItem = _contractItemRepository.GetById(input.Id);
            bool isExisted    = _contractItemRepository.Exist(t => t.ContractCode == input.ContractCode &&
                                                              t.ProductName == input.ProductName &&
                                                              t.Id != input.Id);

            if (ContractItem != null)
            {
                ContractItem.ProductName    = input.ProductName;
                ContractItem.FileName       = input.FileName;
                ContractItem.TotalCost      = input.TotalCost;
                ContractItem.ShowTypeId     = input.ShowTypeId;
                ContractItem.DurationSecond = input.DurationSecond;

                ContractItem.LastUpdateDate = Utilities.GetServerDateTimeNow();
                ContractItem.LastUpdateBy   = Common.Session.GetId();
                _contractItemRepository.Update(ContractItem);
                result = CRUDStatusCode.SUCCESS;
            }
            if (result == CRUDStatusCode.SUCCESS)
            {
                _productScheduleShowService.EditProductFileName(ContractItem.Id, ContractItem.FileName);
            }

            return(result);
        }
예제 #8
0
        /// <summary>
        /// 运输单结算
        /// </summary>
        /// <param name="sd"></param>
        public void JS(ShippingDocument sd)
        {
            sd.IsJS = true;
            decimal             price = 0;
            ContractItem        ci    = this.m_UnitOfWork.GetRepositoryBase <ContractItem>().Get(this.m_UnitOfWork.GetRepositoryBase <ProduceTask>().Get(sd.TaskID).ContractItemsID);
            List <PriceSetting> list  = this.m_UnitOfWork.GetRepositoryBase <PriceSetting>().All().Where(p => p.ContractItemsID == ci.ID).OrderBy(p => p.ChangeTime).ToList();

            if (list.Count > 0)
            {
                int i = 0;
                while (list[i].ChangeTime < sd.BuildTime)
                {
                    i++;
                }
                if (i == 0)
                {
                    price = (ci.UnPumpPrice == null?0:(Decimal)ci.UnPumpPrice) + (ci.PumpPrice == null?0:(Decimal)ci.PumpPrice);
                }
                else
                {
                    price = (list[i - 1].UnPumpPrice == null ? 0 : (Decimal)list[i - 1].UnPumpPrice) + (ci.PumpPrice == null ? 0 : (Decimal)ci.PumpPrice);
                }
            }
            else
            {
                price = (ci.UnPumpPrice == null?0:(Decimal)ci.UnPumpPrice) + (ci.PumpPrice == null?0:(Decimal)ci.PumpPrice);
            }
            sd.JSPrice = sd.SignInCube * price;
            this.m_UnitOfWork.ShippingDocumentRepository.Update(sd, null);
            this.m_UnitOfWork.Flush();
        }
예제 #9
0
        public ResultResponse postSuccessContract(ContractItem req)
        {
            ResultResponse res = new ResultResponse();

            //check contract data
            //giam nguon cbms
            return(res);
        }
예제 #10
0
        public static List <ContractWorkload> QureyContractWorkLoad(string contractId)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            List <ContractWorkload> workloads = new List <ContractWorkload>();

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = QUERY_CONTRACT_WORKLOAD_STR;
                cmd.Parameters.AddWithValue("@ContractId", contractId);

                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    ContractWorkload workload = new ContractWorkload();

                    workload.ContractId = contractId;

                    workload.Work     = double.Parse(sqlRead["work"].ToString());
                    workload.WorkInfo = sqlRead["workinfo"].ToString( );
                    workload.Expense  = double.Parse(sqlRead["expense"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id        = int.Parse(sqlRead["itemid"].ToString());
                    item.ProjectId = int.Parse(sqlRead["projectid"].ToString());
                    item.Item      = sqlRead["item"].ToString();
                    workload.Item  = item;
                    //Console.WriteLine(workload.Work + "  " + workload.Expense);

                    workloads.Add(workload);
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workloads);
        }
예제 #11
0
        public async Task <IActionResult> DeleteContractItem([FromBody] ContractItemView view)
        {
            ContractItemModule invMod       = new ContractItemModule();
            ContractItem       contractItem = await invMod.ContractItem.Query().MapToEntity(view);

            invMod.ContractItem.DeleteContractItem(contractItem).Apply();

            return(Ok(view));
        }
예제 #12
0
        ///  SELECT w.contractid, w.itemid, i.item, w.work, w.expense FROM `workload` w, `item` i WHERE w.itemid = i.id AND `contractid` like "申%" AND `itemid` = 1
        ///  SELECT w.contractid,  p.id projectid, p.project, i.id itemid, i.item,w.work, w.expense FROM `workload` w, `item` i, `project` p WHERE w.itemid = i.id AND i.projectid = p.id AND `contractid` like "申%" AND `itemid` = 1
        /// <summary>
        ///  统计工作量的信息[Search数据填写SDepartmentShortCall + ItemId]
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public static List <ContractWorkload> GetSDepartmentItemWorkload(Search search)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            List <ContractWorkload> workloads = new List <ContractWorkload>();

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = QUERY_SDEPARTMENT_ITEM_YEAR_WORKLOAD_STR;
                cmd.Parameters.AddWithValue("@SDepartmentYear", search.SDepartmentShortlCall + "_" + search.Year.ToString() + "%");
                cmd.Parameters.AddWithValue("@ItemId", search.ItemId);
                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    ContractWorkload workload = new ContractWorkload();

                    workload.ContractId = sqlRead["contractid"].ToString();

                    workload.Work    = double.Parse(sqlRead["work"].ToString());
                    workload.Expense = double.Parse(sqlRead["expense"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id = int.Parse(sqlRead["itemid"].ToString());
                    //item.ProjectId = int.Parse(sqlRead["projectid"].ToString());
                    //item.Item = sqlRead["item"].ToString();
                    workload.Item = item;
                    //Console.WriteLine(workload.Work + "  " + workload.Expense);

                    workloads.Add(workload);
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workloads);
        }
예제 #13
0
        public EditItem(String categoryName, String projectName, ContractItem item, SignSocketClient sc)
            : this()
        {
            this.m_categoryName = categoryName;
            this.m_projectName  = projectName;

            this.m_item = item;

            _sc = sc;
        }
예제 #14
0
        private void GenerateText(ContractItem item)
        {
            lb_Amount.Text   = "x" + item.Quantity.ToString();
            lb_ItemName.Text = IDSearch.Items[item.TypeId.ToString()] ?? "No Item Name";
            String path = $"Items\\{item.TypeId}_64.png";

            if (File.Exists(path))
            {
                pb_Icon.Load(path);
            }
        }
예제 #15
0
        /// <summary>
        ///  统计当前部门申请的所有工程Project下的会签单信息[Search数据填写SDepartmentShortCall + ItemId]
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public static ContractWorkload StatisDepartmentYearProjectWorkLoad(HSDepartment department, int year, ContractProject project)
        {
            if (project.Id == 10)
            {
            }
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_DEPARTMENT_YEAR_PROJECT_STR;
                cmd.Parameters.AddWithValue("@SDepartmentYear", department.ShortCall + "__" + year.ToString() + "%");
                cmd.Parameters.AddWithValue("@ProjectId", project.Id);
                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = STATIS_KIND.STATIS_DEPARTMENT_YEAR_PROJECT_WORKLOAD.ToString();

                    workload.Work    = double.Parse(sqlRead["works"].ToString());
                    workload.Expense = double.Parse(sqlRead["expenses"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id       = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
예제 #16
0
 public void EditContract(ContractItem contractItem)
 {
     _context.Entry(contractItem).State = EntityState.Modified;
     try
     {
         _context.SaveChanges();
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #17
0
        public static bool CheckIntegrity(ContractItem item)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            int count = -1;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = CHECK_ITEM_INTEGRITY_STR;

                cmd.Parameters.AddWithValue("@Id", item.Id);
                cmd.Parameters.AddWithValue("@ProjectId", item.ProjectId);
                cmd.Parameters.AddWithValue("@Item", item.Item);

                MySqlDataReader sqlRead = cmd.ExecuteReader();
                cmd.Dispose();

                while (sqlRead.Read())
                {
                    count = int.Parse(sqlRead["count"].ToString());
                }

                con.Close();
                con.Dispose();

                if (count == 1)
                {
                    return(true);
                }
                else
                {
                    Console.WriteLine("PROJECT : Id = {0}, ProjectId = {1}, Item = {2}检查失败", item.Id, item.ProjectId, item.Item);
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }
예제 #18
0
        public static ContractWorkload StatisYearCategoryRegularLoad(int year, ContractCategory category)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_YEAR_CATEGORY_REGULARLOAD_STR;
                cmd.Parameters.AddWithValue("@Year", year);
                cmd.Parameters.AddWithValue("@CategoryId", category.Id);

                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = STATIS_KIND.STATIS_YEAR_CATEGORY_REGULARLOAD.ToString();
                    workload.Work       = double.Parse(sqlRead["works"].ToString());
                    workload.Expense    = double.Parse(sqlRead["expenses"].ToString());

                    /// BUG
                    ContractItem item = new ContractItem();
                    item.Id       = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
예제 #19
0
        //private static String STATIS_YEAR_ITEM_STR = @"SELECT IFNULL(Sum(work), 0) works, IFNULL(Sum(expense),0) expenses FROM `workload` WHERE `contractid` like @Year AND `itemid` = @ItemId";
        public static ContractWorkload StatisYearItemWorkLoad(int year, ContractItem item)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_DEPARTMENT_YEAR_ITEM_STR;
                cmd.Parameters.AddWithValue("@SDepartmentYear", "__" + year.ToString() + "%");
                cmd.Parameters.AddWithValue("@ItemId", item.Id);

                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = STATIS_KIND.STATIS_YEAR_ITEM_WORKLOAD.ToString();
                    workload.Work       = double.Parse(sqlRead["works"].ToString());
                    workload.Expense    = double.Parse(sqlRead["expenses"].ToString());

                    /// BUG
                    //ContractItem item = new ContractItem();
                    //item.Id = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
예제 #20
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }

            if (e.ColumnIndex == 2)         //  修改当前部门信息
            {
                if (MessageBox.Show("确定要修改当前工作量类别信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    // BUG
                    string       categoryName = ((ComboboxItem)this.CateId.SelectedItem).Text;
                    string       projectName  = this.SelectedProject.Text;
                    ContractItem item         = UserHelper.ContractItemList[e.RowIndex];
                    EditItem     ei           = new EditItem(categoryName, projectName, item, _sc);
                    ei.ShowDialog();
                    if (ei.DialogResult == DialogResult.OK)
                    {
                        this.BindItem(true);
                    }
                }
            }
            else if (e.ColumnIndex == 3)         //  删除当前部门信息
            {
                if (MessageBox.Show("确定要删除此工作量类别信息?\n危险操作,请谨慎进行\n请问您是否继续删除", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    //MessageBox.Show(this.dataGridView3.Rows[e.RowIndex].Cells[0].Value.ToString());
                    int    itemId = Convert.ToInt32(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    string result = _sc.DeleteItem(itemId);

                    if (result == Response.DELETE_ITEM_SUCCESS.ToString())
                    {
                        MessageBox.Show("删除工作量成功!", "提示", MessageBoxButtons.OK);
                        this.BindItem(true);
                    }
                    else if (result == "服务器连接中断")
                    {
                        MessageBox.Show("服务器连接中断,删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    //else if (result == Response.DELETE_DEPARTMENT_EXIST_EMPLOYEE.ToString())
                    //{
                    //    MessageBox.Show("该部门下有人员存在,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    //}
                    else
                    {
                        MessageBox.Show("删除工作量失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }
        public IActionResult PostContractItem([FromBody] ContractDetailsForPostDto contractDetails)
        {
            var customer = _repository.GetCustomerByName(contractDetails.CustomerName);

            if (customer == null)
            {
                _logger.LogInformation($"Customer with name {contractDetails.CustomerName} not found.");
                ModelState.AddModelError("Customer Name", "Customer does not exist!");
                return(BadRequest(ModelState));
            }
            var planType = _repository.GetCoveragePlan(contractDetails.CustomerCountry, customer.DateOfBirth);
            var age      = DateTime.Now.Year - contractDetails.DOB.Year;

            if (planType == null)
            {
                _logger.LogInformation("Suitable Coverage Plan not found for provided paramters.");
                ModelState.AddModelError("Coverage Plan", "Coverage Plan not found!");
                return(BadRequest(ModelState));
            }
            object g      = null;
            Gender gender = (Gender)
                            (Enum.TryParse(typeof(Gender), contractDetails.CustomerGender, true, out g) ? g : Gender.Other);
            var rate = _repository.GetRate(gender, age, planType);

            if (rate == null)
            {
                _logger.LogInformation($"Rate not found for Plan Id {planType.PlanId}.");
                ModelState.AddModelError("Rate", "Rate not found!");
                return(BadRequest(ModelState));
            }
            var contractItem = new ContractItem
            {
                CustomerId = customer.CustomerId,
                SaleDate   = contractDetails.SaleDate,
                CoverageId = planType.PlanId,
                NetPrice   = rate.NetPrice
            };

            try
            {
                _repository.SaveContract(contractItem);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                _logger.LogCritical("Database update concurrency exception thrown", ex);
                return(StatusCode(500, "Internal Server Error has occurred."));
            }


            return(CreatedAtAction("GetContract", new { id = contractItem.ContractId }, contractItem));
        }
예제 #22
0
        /// <summary>
        ///  统计当前部门申请的所有工程Project下的会签单信息[Search数据填写SDepartmentShortCall + ItemId]
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public static ContractWorkload StatisSDepartmentProjectYearWorkload(Search search)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_SDEPARTMENT_PROJECT_YEAR_WORKLOAD_STR;
                cmd.Parameters.AddWithValue("@SDepartmentYear", search.SDepartmentShortlCall + "_" + search.Year.ToString() + "%");
                cmd.Parameters.AddWithValue("@ProjectId", search.ProjectId);
                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = "STATIS";

                    workload.Work    = -1;
                    workload.Expense = double.Parse(sqlRead["expenses"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id       = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
예제 #23
0
        public static ContractWorkload StatisDepartmentYearCategoryWorkLoad(string departmentShortCall, string categoryShortCall, int year)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            ContractWorkload workload = null;

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = STATIS_DEPCATESHORTCALL_YEAR_CATEGORY_STR;
                cmd.Parameters.AddWithValue("@SDepartmentCategoryYear", departmentShortCall + categoryShortCall + year.ToString() + "%");
                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    workload = new ContractWorkload();

                    workload.ContractId = STATIS_KIND.STATIS_DEPARTMENT_YEAR_CATEGORY_WORKLOAD.ToString();

                    workload.Work    = double.Parse(sqlRead["works"].ToString());
                    workload.Expense = double.Parse(sqlRead["expenses"].ToString());

                    ContractItem item = new ContractItem();
                    item.Id       = -1;
                    workload.Item = item;
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(workload);
        }
예제 #24
0
        public async Task <IActionResult> UpdateContractItem([FromBody] ContractItemView view)
        {
            ContractItemModule invMod = new ContractItemModule();

            ContractItem contractItem = await invMod.ContractItem.Query().MapToEntity(view);


            invMod.ContractItem.UpdateContractItem(contractItem).Apply();

            ContractItemView retView = await invMod.ContractItem.Query().GetViewById(contractItem.ContractItemId);


            return(Ok(retView));
        }
예제 #25
0
        public static List <ContractItem> QueryProjectItem(string categoryName, string projectName)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;

            List <ContractItem> items = new List <ContractItem>();

            try
            {
                con.Open();

                cmd = con.CreateCommand();

                cmd.CommandText = QUERY_PROJECT_ITEM_BY_PROJECT_NAME_STR;
                cmd.Parameters.AddWithValue("CategoryName", categoryName);
                cmd.Parameters.AddWithValue("@ProjectName", projectName);

                MySqlDataReader sqlRead = cmd.ExecuteReader();

                cmd.Dispose();

                while (sqlRead.Read())
                {
                    ContractItem item = new ContractItem();

                    item.Id        = int.Parse(sqlRead["id"].ToString());
                    item.ProjectId = int.Parse(sqlRead["projectid"].ToString());
                    item.Item      = sqlRead["item"].ToString();

                    items.Add(item);
                }


                con.Close();
                con.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
            return(items);
        }
        internal static ContractItem ConstrainByKeys(this ContractItem contractItem, IContractKey contractKey)
        {
            if (contractItem == null)
            {
                throw new ArgumentNullException("contractItem");
            }

            if (contractKey != null)
            {
                contractItem.Contract         = null;
                contractItem.ContractYear     = contractKey.ContractKey_Year;
                contractItem.ContractSequence = contractKey.ContractKey_Sequence;
            }

            return(contractItem);
        }
예제 #27
0
        private static void SetContractItem(ContractItem contractItem, SetContractItemParameters newItem, IEnumerable <CustomerProductCode> productCodes)
        {
            contractItem.ChileProductId     = newItem.ChileProductKey.ChileProductKey_ProductId;
            contractItem.PackagingProductId = newItem.PackagingProductKey.PackagingProductKey_ProductId;
            contractItem.TreatmentId        = newItem.TreatmentKey.InventoryTreatmentKey_Id;
            contractItem.UseCustomerSpec    = newItem.ContractItemParameters.UseCustomerSpec;
            contractItem.Quantity           = newItem.ContractItemParameters.Quantity;
            contractItem.PriceBase          = newItem.ContractItemParameters.PriceBase;
            contractItem.PriceFreight       = newItem.ContractItemParameters.PriceFreight;
            contractItem.PriceTreatment     = newItem.ContractItemParameters.PriceTreatment;
            contractItem.PriceWarehouse     = newItem.ContractItemParameters.PriceWarehouse;
            contractItem.PriceRebate        = newItem.ContractItemParameters.PriceRebate;

            contractItem.CustomerProductCode = newItem.ContractItemParameters.CustomerCodeOverride ??
                                               productCodes.Where(c => newItem.ChileProductKey.Equals(c)).Select(c => c.Code).FirstOrDefault() ?? "";
        }
예제 #28
0
        public async Task <IActionResult> AddContractItem([FromBody] ContractItemView view)
        {
            ContractItemModule invMod = new ContractItemModule();

            NextNumber nnContractItem = await invMod.ContractItem.Query().GetNextNumber();

            view.ContractItemNumber = nnContractItem.NextNumberValue;

            ContractItem contractItem = await invMod.ContractItem.Query().MapToEntity(view);

            invMod.ContractItem.AddContractItem(contractItem).Apply();

            ContractItemView newView = await invMod.ContractItem.Query().GetViewByNumber(view.ContractItemNumber);


            return(Ok(newView));
        }
예제 #29
0
        public static bool ModifyItem(ContractItem item)
        {
            MySqlConnection con = DBTools.GetMySqlConnection();
            MySqlCommand    cmd;
            int             count = -1;          // 受影响行数

            try
            {
                con.Open();

                cmd             = con.CreateCommand();
                cmd.CommandText = MODIFY_ITEM_STR;

                cmd.Parameters.AddWithValue("@Id", item.Id);
                cmd.Parameters.AddWithValue("@ProjectId", item.ProjectId);
                cmd.Parameters.AddWithValue("@Item", item.Item);


                count = cmd.ExecuteNonQuery();
                cmd.Dispose();

                con.Close();
                con.Dispose();
                if (count == 1)     //  插入成功后的受影响行数为1
                {
                    Console.WriteLine("任务工作量{0}修改成功", item.Item);
                    return(true);
                }
                else
                {
                    Console.WriteLine("任务工作量{0}修改失败", item.Item);
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }
        public ContractItemDetailForm(ContractItem inputModel)
        {
            InitializeComponent();
            this.model = inputModel;
            gbRegisterSchedule.Visible = false;
            if (model != null)
            {
                if (model.Id != 0)
                {
                    gbRegisterSchedule.Visible = true;
                }
            }

            LoadDurationComboBox();
            LoadCboShowType();
            LoadData();
        }