public int Edit(ContractModification contractModificationModel) { string updateQuery = @"Update ContractModification set ContractGuid = @ContractGuid , ModificationNumber = @ModificationNumber , ModificationType = @ModificationType , AwardAmount = @AwardAmount , EnteredDate = @EnteredDate , EffectiveDate = @EffectiveDate , POPStart = @POPStart , POPEnd = @POPEnd , Description = @Description , UploadedFileName = @UploadedFileName , ModificationTitle = @ModificationTitle , IsAwardAmount = @IsAwardAmount , IsFundingAmount = @IsFundingAmount , IsPop = @IsPop , FundingAmount = @FundingAmount , IsTaskModification =@IsTaskModification, UpdatedOn = @UpdatedOn , UpdatedBy = @UpdatedBy , IsActive = @IsActive , IsDeleted = @IsDeleted where ContractModificationGuid = @ContractModificationGuid"; return(_context.Connection.Execute(updateQuery, contractModificationModel)); }
private Guid SaveAndNotifyRevenueRepresentative(ContractModification model) { try { var revenuedata = _revenueRecognitionService.GetAwardAmountDetail(model.ContractGuid); if (revenuedata != null) { bool isRevenueTriggered = RevenueRecognitionHelper.IsValidForRevenueRecognitionRequest(_configuration, revenuedata.ContractType, revenuedata.AwardAmount, revenuedata.FundingAmount); if (isRevenueTriggered) { //Adding new revenue recognition for Mods //_contractService.updateContractRevenueRecognitionGuid(model.ContractGuid, revenueRecognitionGuid); Guid revenueRecognitionGuid = AddNewRevenueAndUpdateContractModRevenueGuid(model); return(revenueRecognitionGuid); } } return(Guid.Empty); } catch (Exception ex) { var userGuid = UserHelper.CurrentUserGuid(HttpContext); EventLogHelper.Error(_eventLogger, new EventLog { EventGuid = Guid.NewGuid(), Action = "", Application = "ESS", EventDate = DateTime.UtcNow, Message = ex.Message, Resource = ResourceType.Notification.ToString(), StackTrace = ex.StackTrace, UserGuid = userGuid }); return(Guid.Empty); } }
public int Add(ContractModification contractModificationModel) { string insertQuery = @"INSERT INTO [dbo].[ContractModification] ( ContractModificationGuid , ContractGuid , ModificationNumber , ModificationType , AwardAmount , EnteredDate , EffectiveDate , POPStart , POPEnd , Description , UploadedFileName , ModificationTitle , IsAwardAmount , IsFundingAmount , IsPop , FundingAmount , IsTaskModification, CreatedOn , UpdatedOn , CreatedBy , UpdatedBy , IsActive , IsDeleted ) VALUES ( @ContractModificationGuid , @ContractGuid , @ModificationNumber , @ModificationType , @AwardAmount , @EnteredDate , @EffectiveDate , @POPStart , @POPEnd , @Description , @UploadedFileName , @ModificationTitle , @IsAwardAmount , @IsFundingAmount , @IsPop , @FundingAmount , @IsTaskModification, @CreatedOn , @UpdatedOn , @CreatedBy , @UpdatedBy , @IsActive , @IsDeleted )"; return(_context.Connection.Execute(insertQuery, contractModificationModel)); }
private ContractModification MapModsToCoreMods(DMMods mods, Guid userGuid) { modsEntity = new ContractModification(); if (string.IsNullOrWhiteSpace(mods.POPStart)) { mods.POPStart = DateTime.UtcNow.ToShortDateString(); } if (string.IsNullOrWhiteSpace(mods.POPEnd)) { mods.POPEnd = DateTime.UtcNow.ToShortDateString(); } if (string.IsNullOrWhiteSpace(mods.AwardAmount)) { mods.AwardAmount = "0"; } if (string.IsNullOrWhiteSpace(mods.FundingAmount)) { mods.FundingAmount = "0"; } modsEntity.ContractModificationGuid = mods.ContractModificationGuid; modsEntity.ContractGuid = mods.ContractGuid; modsEntity.ProjectNumber = mods.ProjectNumber; modsEntity.ModificationNumber = mods.ModNumber; modsEntity.ModificationTitle = mods.ModTitle; if (!string.IsNullOrWhiteSpace(mods.POPStart)) { modsEntity.POPStart = DateTime.Parse(mods.POPStart); } if (!string.IsNullOrWhiteSpace(mods.POPEnd)) { modsEntity.POPEnd = DateTime.Parse(mods.POPEnd); } if (!string.IsNullOrWhiteSpace(mods.AwardAmount)) { modsEntity.AwardAmount = Decimal.Parse(mods.AwardAmount); } if (!string.IsNullOrWhiteSpace(mods.FundingAmount)) { modsEntity.FundingAmount = Decimal.Parse(mods.FundingAmount); } modsEntity.CreatedOn = DateTime.UtcNow; modsEntity.IsActive = true; modsEntity.IsDeleted = false; modsEntity.CreatedBy = userGuid; modsEntity.UpdatedBy = userGuid; modsEntity.UpdatedOn = DateTime.UtcNow; return(modsEntity); }
private Guid AddNewRevenueAndUpdateContractModRevenueGuid(ContractModification model) { Guid revenueRecognitionGuid = Guid.NewGuid(); bool isSaved = _revenueRecognitionService.AddRevenueWithResourceGuid( new RevenueRecognition { RevenueRecognizationGuid = revenueRecognitionGuid, ResourceGuid = model.ContractModificationGuid, ContractGuid = model.ContractGuid, UpdatedBy = model.UpdatedBy, UpdatedOn = model.UpdatedOn, CreatedBy = model.UpdatedBy, CreatedOn = model.UpdatedOn }); if (isSaved) { _contractService.InsertRevenueRecognitionGuid(revenueRecognitionGuid, model.ContractGuid); _contractModificationService.InsertRevenueRecognitionGuid(revenueRecognitionGuid, model.ContractGuid); AddNotificationMessage(model); return(revenueRecognitionGuid); } return(Guid.Empty); }
public int Edit(ContractModification contractModificationModel) { return(contractModificationRepository.Edit(contractModificationModel)); }
public int Add(ContractModification contractModificationModel) { return(contractModificationRepository.Add(contractModificationModel)); }
private bool AddNotificationMessage(ContractModification model) { try { var notificationModel = new GenericNotificationViewModel(); var notificationTemplatesDetails = new NotificationTemplatesDetail(); var userList = new List <User>(); var receiverInfo = new User(); Guid? receiverGuid = Guid.Empty; decimal thresholdAmount = 0.00M; string key = string.Empty; if (model.IsUpdated) { key = Infrastructure.Helpers.FormatHelper.ConcatResourceTypeAndAction(EnumGlobal.ResourceType.RevenueRecognition.ToString(), EnumGlobal.ResourceAction.ContractModUpdate.ToString()); } else { key = Infrastructure.Helpers.FormatHelper.ConcatResourceTypeAndAction(EnumGlobal.ResourceType.RevenueRecognition.ToString(), EnumGlobal.ResourceAction.ContractModCreate.ToString()); } notificationModel.ResourceId = model.ContractGuid; notificationModel.RedirectUrl = _configuration.GetSection("SiteUrl").Value + ("/contract/Details/" + model.ContractGuid); notificationModel.NotificationTemplateKey = key; notificationModel.CurrentDate = CurrentDateTimeHelper.GetCurrentDateTime(); notificationModel.CurrentUserGuid = UserHelper.CurrentUserGuid(HttpContext); notificationModel.SendEmail = true; var keyPersonnels = _contractService.GetKeyPersonnelByContractGuid(model.ContractGuid); if (keyPersonnels?.Any() == true) { receiverGuid = keyPersonnels.FirstOrDefault(x => x.UserRole == ContractUserRole._contractRepresentative)?.UserGuid; if (receiverGuid != Guid.Empty) { string contractTypeValue = _contractService.GetContractType(model.ContractGuid); thresholdAmount = RevenueRecognitionHelper.GetAmountByContractType(_configuration, contractTypeValue); receiverInfo = _userService.GetUserByUserGuid(receiverGuid ?? Guid.Empty); var resourcevalue = _resourceAttributeValueService.GetResourceAttributeValueByValue(contractTypeValue); string contracttype = string.Empty; if (resourcevalue != null) { contracttype = resourcevalue.Name; } if (receiverInfo != null) { userList.Add(receiverInfo); notificationModel.IndividualRecipients = userList; } var keyList = "<ul>"; keyList += "<li>" + receiverInfo.DisplayName + " (" + receiverInfo.JobTitle + ")" + "</li>"; StringBuilder additionalUser = new StringBuilder(keyList); notificationTemplatesDetails.ContractNumber = model.ContractNumber; notificationTemplatesDetails.Title = model.ContractTitle; notificationTemplatesDetails.TaskOrderNumber = model.ContractNumber; notificationTemplatesDetails.ContractType = contracttype; notificationTemplatesDetails.ContractTitle = model.ContractTitle; notificationTemplatesDetails.ProjectNumber = model.ProjectNumber; notificationTemplatesDetails.AdditionalUser = additionalUser.ToString(); notificationTemplatesDetails.ModNumber = model.ModificationNumber; notificationTemplatesDetails.ThresholdAmount = thresholdAmount; notificationTemplatesDetails.Status = ""; notificationModel.NotificationTemplatesDetail = notificationTemplatesDetails; _genericNotificationService.AddNotificationMessage(notificationModel); return(true); } } return(false); } catch (Exception ex) { var userGuid = UserHelper.CurrentUserGuid(HttpContext); EventLogHelper.Error(_eventLogger, new EventLog { EventGuid = Guid.NewGuid(), Action = "Index", Application = "ESS", EventDate = DateTime.UtcNow, Message = ex.Message, Resource = ResourceType.Contract.ToString(), StackTrace = ex.StackTrace, UserGuid = userGuid }); return(false); } }