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); } }
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()); } }