public Response <RfpRespondInvitation> SaveRfpRespondInvitation(RfpRespondInvitation item) { try { DynamicParameters _params = new DynamicParameters(); _params.Add("@inv_key", item.inv_key, DbType.Guid); _params.Add("@inv_rfp_key", item.inv_rfp_key, DbType.Guid); _params.Add("@inv_ct_key", item.inv_ct_key, DbType.Guid); _params.Add("@inv_first_name", item.inv_first_name, DbType.String); _params.Add("@inv_last_name", item.inv_last_name, DbType.String); _params.Add("@inv_full_name", item.inv_full_name, DbType.String); _params.Add("@inv_email", item.inv_email, DbType.String); _params.Add("@inv_status", item.inv_status, DbType.String); _params.Add("@inv_add_user", item.inv_add_user, DbType.String); _params.Add("@inv_change_user", item.inv_change_user, DbType.String); _params.Add("@success", DbType.Boolean, direction: ParameterDirection.Output); var result = _dBConnection.Execute("USP_rfp_respond_invitation_Save", _params, null, null, CommandType.StoredProcedure); return(new Response <RfpRespondInvitation>(item) { Success = _params.Get <Int32>("success") == 1 ? true : false }); } catch (Exception ex) { throw ex; } }
public ActionResult Edit(RfpRequest entity, string prdkey) { ViewData["Product"] = _searchFacade.FindRfpProduct(prdkey); if (entity.RACIContactList == null) { entity.RACIContactList = new List <ContactRACI>(); } List <ContactRACI> existing_raci_contacts = _contactFacade.GetRACIContacts(new RACIFilter { Org_key = CurrentUser.User.org_key, rfp_key = entity.rfp_key.ToString() }); var resp_contact = entity.RACIContactList.FirstOrDefault(p => p.lk5_key.ToString() == "5592b25d-d98a-4914-9c8e-ac28d6c11116"); if (resp_contact == null) { ModelState.AddModelError("", "Please add team member with 'Responsible' role."); } try { if (ModelState.IsValid) { entity.rfp_org_key = CurrentUser.User.org_key; entity.rfp_prd_key = Guid.Parse(prdkey); var current_rfp_resp = _rfpFacade.GetRFQDetails(CurrentUser.User.org_key.ToString(), prdkey); Response <RfpRequest> result; if (current_rfp_resp != null) { result = _rfpFacade.Update(entity, CurrentUser.User.ct_key.ToString()); } else { result = _rfpFacade.Add(entity, CurrentUser.User.ct_key.ToString()); } if (result.Success) { var file_list = new List <string>(); if (!string.IsNullOrWhiteSpace(entity.QuestionnaireFiles)) { file_list.AddRange(entity.QuestionnaireFiles.Split(',')); } foreach (string rfa_key in file_list) { _rfpAttachmentFacade.UpdateField(rfa_key, "rfa_rfp_key", entity.rfp_key.ToString(), string.Empty); _rfpAttachmentFacade.UpdateField(rfa_key, "rfa_type", "QA", string.Empty); _rfpAttachmentFacade.UpdateField(rfa_key, "delete_flag", "0", string.Empty); _rfpAttachmentFacade.Attach_RfpRequest_File(rfa_key, entity.rfp_key.ToString()); } file_list.Clear(); if (!string.IsNullOrWhiteSpace(entity.RfpAttachments)) { file_list.AddRange(entity.RfpAttachments.Split(',')); } foreach (string rfa_key in file_list) { _rfpAttachmentFacade.UpdateField(rfa_key, "rfa_rfp_key", entity.rfp_key.ToString(), string.Empty); _rfpAttachmentFacade.UpdateField(rfa_key, "rfa_type", "AA", string.Empty); _rfpAttachmentFacade.UpdateField(rfa_key, "delete_flag", "0", string.Empty); _rfpAttachmentFacade.Attach_RfpRequest_File(rfa_key, entity.rfp_key.ToString()); } // Delete removed contacts from RACI. if (existing_raci_contacts != null && existing_raci_contacts.Count > 0) { foreach (var item in existing_raci_contacts) { _contactFacade.Delete_RACI_Contact(item.ct_key.ToString(), entity.rfp_key.ToString(), null); } } // Save added contacts to RACI. foreach (var contact in entity.RACIContactList) { //_contactFacade.Attach_Contact_Request(resp.Result.ct_key.ToString(), entity.rfp_key.ToString(), contact.role_id, contact.title, string.Empty); _contactFacade.Add_RACI_Contact(contact.lk5_key.ToString(), contact.ct_key.ToString(), entity.rfp_key.ToString(), null, CurrentUser.User.ct_key.ToString()); } // Save Request Respond Invitation existing_raci_contacts = _contactFacade.GetRACIContacts(new RACIFilter { Org_key = CurrentUser.User.org_key, rfp_key = entity.rfp_key.ToString() }); if (existing_raci_contacts != null && existing_raci_contacts.Count > 0) { var responsible_contact = existing_raci_contacts.FirstOrDefault(p => p.lk5_key.ToString() == "5592b25d-d98a-4914-9c8e-ac28d6c11116"); if (responsible_contact != null) { var invitation = new RfpRespondInvitation { inv_add_user = CurrentUser.User.ct_key.ToString(), inv_change_user = CurrentUser.User.ct_key.ToString(), inv_ct_key = responsible_contact.ct_key, inv_email = responsible_contact.ct_email, inv_first_name = responsible_contact.ct_first_name, inv_last_name = responsible_contact.ct_last_name, inv_full_name = $"{responsible_contact.ct_first_name} {responsible_contact.ct_last_name}", inv_key = Guid.NewGuid(), inv_rfp_key = entity.rfp_key }; _rfpFacade.SaveRfpRespondInvitation(invitation); } } return(RedirectToAction("", "dashboard")); } else { ModelState.AddModelError("", "Could not save RFQ"); } } return(View(entity)); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(entity)); } }
public Response <RfpRespondInvitation> SaveRfpRespondInvitation(RfpRespondInvitation item) { return(_rfpRequestRepositoryDAC.SaveRfpRespondInvitation(item)); }