Example #1
0
        /// <summary>
        /// Процедура сохранения акта в базе данных.
        /// </summary>
        /// <param name="model">Текущая модель.</param>
        /// <param name="error">Переменная для возврата текста сообщения об ошибке.</param>
        public bool SaveGpdAct(GpdActEditModel model, out string error)
        {
            error = string.Empty;

            //к текущему договору не должны повторяться номера актов
            if (GpdActDao.ExistsActsByNumber(model.Id, model.GCID, model.ActNumber))
            {
                error = "К данному договору уже существует акт с таким номером!";
                if (model.Id == 0)
                    error += " Повторите попытку создания акта!";
                else
                    error += " Попробуйте найти акт к данному договору и с таким номером в реестре!";
                return false;
            }

            //договор не должен быть в статусе черновика
            if (model.StatusID != 4 && !GpdActDao.CheckContractEntry(model.GCID))
            {
                error = "Нельзя подготовить акт к выгрузке, так как договор для данного акта имеет статус черновика!";
                return false;
            }

            UserRole currentUserRole = AuthenticationService.CurrentUser.UserRole;
            IUser currentUseId = AuthenticationService.CurrentUser;

            try
            {
                GpdAct gpdAct;// = GpdContractDao.Get(model.Id);

                if (model.Id == 0)
                {
                    gpdAct = new GpdAct
                    {
                        CreatorID = currentUseId.Id,
                        //EditDate = DateTime.Now,
                        //EditorID = currentUseId.Id,
                        ActNumber = model.ActNumber,
                        ActDate = model.ActDate,
                        GCID = model.GCID,
                        ChargingDate = model.ChargingDate,
                        DateBegin = model.DateBegin,
                        DateEnd = model.DateEnd,
                        Amount = model.Amount,
                        PurposePayment = model.PurposePayment,
                        ESSSNum = model.ESSSNum,
                        StatusID = model.StatusID
                    };
                }
                else
                {
                    gpdAct = GpdActDao.Get(model.Id);
                    gpdAct.CreatorID = model.CreatorID;
                    gpdAct.EditDate = DateTime.Now;
                    gpdAct.EditorID = currentUseId.Id;
                    gpdAct.ActNumber = model.ActNumber;
                    gpdAct.ActDate = model.ActDate;
                    gpdAct.GCID = model.GCID;
                    gpdAct.ChargingDate = model.ChargingDate;
                    gpdAct.DateBegin = model.DateBegin;
                    gpdAct.DateEnd = model.DateEnd;
                    gpdAct.Amount = model.Amount;
                    gpdAct.PurposePayment = model.PurposePayment;
                    gpdAct.ESSSNum = model.ESSSNum;
                    gpdAct.StatusID = model.StatusID;
                }

                AddComment(gpdAct, model);  //добавление комментария
                GpdActDao.SaveAndFlush(gpdAct);
                model.Id = gpdAct.Id;
                return true;
            }
            catch (Exception ex)
            {
                GpdContractDao.RollbackTran();
                Log.Error("Error on SaveMissionOrderEditModel:", ex);
                error = string.Format("Исключение:{0}", ex.GetBaseException().Message);
                return false;
            }
            finally
            {
                //SetUserInfoModel(user, model);
                //SetStaticFields(model, missionHotels);
                //LoadDictionaries(model);
                //SetHiddenFields(model);
            }
        }
Example #2
0
 /// <summary>
 /// Добавляем комментарий.
 /// </summary>
 /// <param name="entity">Редактируемый акт.</param>
 /// <param name="model">Модель редактируемого акта.</param>
 protected void AddComment(GpdAct entity, GpdActEditModel model)
 {
     if (model.CommentStr != null && model.CommentStr.Trim().Length != 0)
     {
         GpdActComment ActComment = new GpdActComment
         {
             UserId = UserDao.Load(AuthenticationService.CurrentUser.Id),
             Comment = model.CommentStr,
             CreateDate = DateTime.Now,
             GpdActs = entity
         };
         entity.Comments.Add(ActComment);
     }
 }