Пример #1
0
        public void Post([FromBody] MeetingTransfer meetingTransfer)
        {
            try
            {
                Expense expense = misContext.Expense.Where(p => p.ExpenseId == meetingTransfer.ExpenseId).FirstOrDefault();

                if (expense == null)
                {
                    return;
                }

                expense.DateMod = DateTime.Now;
                expense.UserMod = currentUser.UserId;
                // expense.MeetingStatusId = meetingTransfer.StatusId;
                expense.MeetingCode  = meetingTransfer.MeetingCode;
                expense.ExpenseName  = meetingTransfer.ExpenseName;
                expense.BudgetLineId = meetingTransfer.BudgetLineId;
                // expense.UserIdOwner = meetingTransfer.OrganiserId;
                expense.ExpenseStartDate                = meetingTransfer.MeetingStartDate;
                expense.ExpenseEndDate                  = meetingTransfer.MeetingEndDate;
                expense.MeetingDuration                 = meetingTransfer.MeetingDuration;
                expense.MeetingNumIntParticipants       = meetingTransfer.MeetingNumIntParticipants;
                expense.MeetingNumExtParticipants       = meetingTransfer.MeetingNumExtParticipants;
                expense.MeetingNumIntParticipantsActual = meetingTransfer.MeetingNumIntParticipantsActual;
                expense.MeetingNumExtParticipantsActual = meetingTransfer.MeetingNumExtParticipantsActual;
                expense.MeetingComment                  = meetingTransfer.MeetingComment;
                expense.LocationId                         = meetingTransfer.LocationId;
                expense.LocationCity                       = meetingTransfer.LocationCity;
                expense.MeetingOutsideSwedenNote           = meetingTransfer.MeetingOutsideSwedenNote;
                expense.MeetingIsOutsourced                = meetingTransfer.IsOutsourced;
                expense.MeetingIsDeclarationInterest       = meetingTransfer.IsDeclarationOfInterest;
                expense.MeetingIsNonEnlargementCountries   = meetingTransfer.IsNonEUCountry;
                expense.MeetingIsEndDatePending            = meetingTransfer.IsEndDatePending;
                expense.MeetingIsStartDatePending          = meetingTransfer.IsStartDatePending;
                expense.MeetingIsNumExtParticipantsPending = meetingTransfer.IsNumExtParticipantsPending;
                expense.MeetingIsNumIntParticipantsPending = meetingTransfer.IsNumIntParticipantsPending;
                expense.MeetingIsLocationPending           = meetingTransfer.IsLocationPending;
                expense.MeetingIsNamePending               = meetingTransfer.IsNamePending;

                expense.MeetingApprovalStatus = misContext.MeetingApprovalStatus.Where(p => p.MeetingApprovalStatusDescription == meetingTransfer.ApprovalStatusDescription).Select(p => p).FirstOrDefault();

                misContext.Entry(expense).State = EntityState.Modified;
                misContext.SaveChanges();

                // if (meetingTransfer.IsEndDatePending || meetingTransfer.IsStartDatePending) SendNotification(expense);
            }
            catch (Exception ex)
            {
                var ttt = ex;
                //  logService.SaveLog(currentUser.UserId, LogType.Error, MISPage.MeetingDetailPage, ex, Method.SaveExpense);
            }
        }
Пример #2
0
        public MeetingTransfer GetMeeting(long expenseId)
        {
            var expense = (from result in misContext.Expense
                           .Include(p => p.Meeting).AsNoTracking()
                           .Include(p => p.Activity).AsNoTracking()
                           .Include(p => p.Activity.Strategy).AsNoTracking()
                           .Include(p => p.Activity.Unit).AsNoTracking()
                           .Include(p => p.Activity.Dsp).AsNoTracking()
                           .Include(p => p.Activity.Awp).AsNoTracking()
                           .Include(p => p.ExpenseType).AsNoTracking()
                           .Include(p => p.BudgetLine).AsNoTracking()
                           .Include(p => p.UserIdOwnerNavigation).AsNoTracking()
                           .Include(p => p.ExpenseBudgetAbac).AsNoTracking()
                           .Include(p => p.Location).AsNoTracking()
                           .Include(p => p.MeetingStatus).AsNoTracking()
                           .Include(p => p.MeetingApprovalStatus).AsNoTracking()
                           .Where(p => p.ExpenseId == expenseId).AsNoTracking()
                           select result).FirstOrDefault();

            if (expense != null)
            {
                var meetingTransfer = new MeetingTransfer()
                {
                    ExpenseId    = expense.ExpenseId,
                    ActivityCode = Helper.GetCode(new Activity()
                    {
                        ActivityId = expense.Activity.ActivityId, ActivityCodeSequence = expense.Activity.ActivityCodeSequence, Strategy = expense.Activity.Strategy, Unit = expense.Activity.Unit, Awp = expense.Activity.Awp, Dsp = expense.Activity.Dsp
                    }),
                    UnitId     = expense.Activity.UnitId,
                    StatusName = expense.MeetingStatus == null ? "" : expense.MeetingStatus.MeetingStatusName,
                    // StatusId = expense.MeetingStatusId,
                    MeetingCode      = expense.MeetingCode,
                    ExpenseName      = expense.ExpenseName,
                    BudgetLineName   = expense.BudgetLine == null ? "" : expense.BudgetLine.BudgetLineName,
                    BudgetLineId     = expense.BudgetLineId,
                    Organiser        = SetUserFullName(expense.UserIdOwner),
                    OrganiserPicture = Helper.SetUserPicture(expense.UserIdOwnerNavigation, defaultUserPictureUrl),
                    // OrganiserId = expense.UserIdOwner,
                    InitialAmount                   = expense.ExpenseInitialAmount,
                    Amount                          = expense.ExpenseAmount,
                    AmountCommitted                 = expense.ExpenseBudgetAbac.Where(P => P.ExpenseBudgetAbacType.ToLower() != "c8").Sum(p => p.ExpenseBudgetAbacCommitted),
                    AmountPaid                      = expense.ExpenseBudgetAbac.Sum(p => p.ExpenseBudgetAbacPaid),
                    MeetingStartDate                = expense.ExpenseStartDate,
                    MeetingEndDate                  = expense.ExpenseEndDate,
                    MeetingDuration                 = expense.MeetingDuration,
                    MeetingNumIntParticipants       = expense.MeetingNumIntParticipants,
                    MeetingNumExtParticipants       = expense.MeetingNumExtParticipants,
                    MeetingNumIntParticipantsActual = expense.MeetingNumIntParticipantsActual,
                    MeetingNumExtParticipantsActual = expense.MeetingNumExtParticipantsActual,
                    MeetingComment                  = expense.MeetingComment,
                    Location                        = expense.Location == null ? "" : expense.Location.LocationName,
                    LocationId                      = expense.LocationId,
                    LocationCity                    = expense.LocationCity,
                    MeetingOutsideSwedenNote        = expense.MeetingOutsideSwedenNote,
                    MeetingInitiationDate           = CalculateInitationDate(expense),

                    IsOutsourced            = expense.MeetingIsOutsourced.GetValueOrDefault(),
                    IsDeclarationOfInterest = expense.MeetingIsDeclarationInterest.GetValueOrDefault(),
                    IsNonEUCountry          = expense.MeetingIsNonEnlargementCountries.GetValueOrDefault(),

                    IsEndDatePending            = expense.MeetingIsEndDatePending.GetValueOrDefault(),
                    IsStartDatePending          = expense.MeetingIsStartDatePending.GetValueOrDefault(),
                    IsNumExtParticipantsPending = expense.MeetingIsNumExtParticipantsPending.GetValueOrDefault(),
                    IsNumIntParticipantsPending = expense.MeetingIsNumIntParticipantsPending.GetValueOrDefault(),
                    IsLocationPending           = expense.MeetingIsLocationPending.GetValueOrDefault(),
                    IsAmountPending             = expense.MeetingIsAmountPending.GetValueOrDefault(),
                    IsHoUApproval = expense.MeetingIsHoUapproval.GetValueOrDefault(),
                    IsNamePending = expense.MeetingIsNamePending.GetValueOrDefault(),

                    // ApprovalStatusName = SetApprovalStatusLabel(expense),
                    ApprovalStatusDescription = expense.MeetingApprovalStatus != null ? expense.MeetingApprovalStatus.MeetingApprovalStatusDescription : "",
                    UserWithEditRight         = expense.Activity.ActivityUserApplicationCoreStaff != null?expense.Activity.ActivityUserApplicationCoreStaff.Select(p => p.UserId).ToList() : null,

                                                    SubMeetingNumber = expense.Meeting.Count(),
                };

                //SetUserRight(meetingTransfer);

                return(meetingTransfer);
            }
            else
            {
                return(new MeetingTransfer());
            }
        }