Пример #1
0
        /// <summary>
        ///     修改转栏信息
        /// </summary>
        /// <param name="updateTransferPigstyInfo">转栏信息页面类</param>
        /// <returns></returns>
        public bool UpdateTransferPigstyInfo(TransferPigstyInfo updateTransferPigstyInfo)
        {
            var taskService = new TaskService();
            var transferService = new TransferService();
            task transferPigstyTask = taskService.FindByTaskNumber(updateTransferPigstyInfo.TaskNumber);
            int count = 0;
            if (transferPigstyTask != null)
            {
                List<transfer> transferList =
                    transferService.FindByTaskId(transferPigstyTask.Id).OrderByDescending(m => m.Time).ToList();
                for (; count < transferList.Count; count++)
                {
                    //transfer lastPigsty = transferService.GetLastTransfer(transferList[count].PigId,
                    //                                                      transferPigstyTask.Id);
                    if (count < updateTransferPigstyInfo.TransferPigstyInfoDetail.Count)
                    {
                        if (transferList[count] != null)
                        {
                            transfer lastTransfer = transferService.Find(transferList[count].Id);
                            if (updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig == "null")
                                updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig = lastTransfer.PigId + "";

                            if (updateTransferPigstyInfo.TransferPigstyInfoDetail[count].SourcePigsty != null)
                                lastTransfer.PigstyId =
                                    long.Parse(updateTransferPigstyInfo.TransferPigstyInfoDetail[count].SourcePigsty);
                            if (updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig != null)
                                lastTransfer.PigId =
                                    long.Parse(updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig);
                            transferService.Update(lastTransfer);
                        }
                        transferList[count].PigstyId =
                            long.Parse(updateTransferPigstyInfo.TransferPigstyInfoDetail[count].TargetPigsty);
                        if (updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig != null)
                            transferList[count].PigId =
                                long.Parse(updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig);
                        transferList[count].Memo = updateTransferPigstyInfo.Meno;
                        transferService.Update(transferList[count]);
                    }
                    else
                    {
                        transferService = new TransferService();
                        transferService.Delete(transferService.Find(transferList[count].Id));
                    }
                }
                for (; count < updateTransferPigstyInfo.TransferPigstyInfoDetail.Count; count++)
                {
                    transferService.Insert(new transfer
                                               {
                                                   TaskId = transferPigstyTask.Id,
                                                   PigstyId =
                                                       long.Parse(
                                                           updateTransferPigstyInfo.TransferPigstyInfoDetail[count].
                                                               TargetPigsty),
                                                   PigId =
                                                       long.Parse(
                                                           updateTransferPigstyInfo.TransferPigstyInfoDetail[count].Pig),
                                                   Time =
                                                       updateTransferPigstyInfo.TransferPigstyInfoDetail[count].
                                                       TransferPigstyTime,
                                                   Memo = updateTransferPigstyInfo.Meno
                                               });
                }
                return true;
            }
            return false;
        }
Пример #2
0
        /// <summary>
        ///     更新修改生猪信息
        /// </summary>
        /// <param name="updatePigInfo"></param>
        /// <param name="pigNumber"> </param>
        /// <returns></returns>
        public bool UpdatePigInfo(PigInfo updatePigInfo, string pigNumber)
        {
            var pigService = new PigService();
            var transferService = new TransferService();
            if (updatePigInfo == null) return false;
            long? earNumber = null,
                  femaleParentId = null,
                  mostLikelyMaleParentId = null,
                  secondLikelyMaleParentId = null,
                  thirdLikelyMaleParentId = null;
            if (updatePigInfo.EarNumber != null)
                earNumber = long.Parse(updatePigInfo.EarNumber);

            if (updatePigInfo.FemaleParentNum != null)
                femaleParentId = long.Parse(updatePigInfo.FemaleParentNum);
            if (updatePigInfo.MostLikelyMaleParentNum != null)
                mostLikelyMaleParentId = long.Parse(updatePigInfo.MostLikelyMaleParentNum);
            if (updatePigInfo.SecondLikelyMaleParentNum != null)
                secondLikelyMaleParentId = long.Parse(updatePigInfo.SecondLikelyMaleParentNum);
            if (updatePigInfo.ThirdLikelyMaleParentNum != null)
                thirdLikelyMaleParentId = long.Parse(updatePigInfo.ThirdLikelyMaleParentNum);
            pig pig = pigService.FindByNumber(pigNumber);
            if (pig == null) return false;
            transfer firstTranfer = transferService.FindByPigId(pig.Id).OrderBy(m => m.Time).FirstOrDefault();
            if (firstTranfer != null)
            {
                firstTranfer.PigstyId = long.Parse(updatePigInfo.Pigsty);
                transferService.Update(firstTranfer);
            }
            else
                return false;
            pig.Number = updatePigInfo.Number;
            pig.EarNumber = earNumber;
            pig.Birthday = updatePigInfo.Birthday;
            pig.RFID = updatePigInfo.Rfid;
            pig.PigTypeId = long.Parse(updatePigInfo.PigType);
            pig.FemaleParentId = femaleParentId;
            pig.MostLikelyMaleParentId = mostLikelyMaleParentId;
            pig.SecondLikelyMaleParentId = secondLikelyMaleParentId;
            pig.ThirdLikelyMaleParentId = thirdLikelyMaleParentId;
            pig.Memo = updatePigInfo.Memo;
            pigService.Update(pig);
            return true;
        }