public ActionResult Edit(string prdkey) { ViewData["Product"] = _searchFacade.FindRfpProduct(prdkey); var rfq = _rfpFacade.GetRFQDetails(CurrentUser.User.org_key.ToString(), prdkey); if (rfq == null) { rfq = new RfpRequest() { rfp_key = Guid.NewGuid() }; } else { rfq.RACIContactList = _contactFacade.GetRACIContacts(new RACIFilter { Org_key = CurrentUser.User.org_key, rfp_key = rfq.rfp_key.ToString() }); var files = _rfpAttachmentFacade.GetWhere($"rfa_key in (select axr_rfa_key from attachment_x_request where axr_rfp_key='{rfq.rfp_key.ToString()}')"); if (files != null && files.Where(p => p.rfa_type == "QA").Count() > 0) { rfq.QuestionnaireFiles = string.Join(",", files.Where(p => p.rfa_type == "QA").Select(p => p.rfa_key)); } if (files != null && files.Where(p => p.rfa_type == "AA").Count() > 0) { rfq.RfpAttachments = string.Join(",", files.Where(p => p.rfa_type == "AA").Select(p => p.rfa_key)); } } return(View(rfq)); }
public ActionResult Templates(RfpRequest entity) { try { if (ModelState.IsValid) { entity.rfp_prd_key = null; entity.rfp_key = Guid.NewGuid(); entity.rfp_org_key = CurrentUser.User.org_key; var result = _rfpRequestFacade.Add(entity, CurrentUser.User.ct_key.ToString()); if (result.Success) { return(RedirectToAction("Templates", "RFP", new { rfp_key = entity.rfp_key.ToString() })); } } return(View("Templates-Create", entity)); } catch (Exception ex) { return(View("Templates-Create", entity)); } }
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 <RfpRequest> Add(RfpRequest item, string user) { try { item.rfp_key = Guid.NewGuid(); DynamicParameters _params = new DynamicParameters(); _params.Add("@rfp_key", item.rfp_key, DbType.Guid); _params.Add("@rfp_org_key", item.rfp_org_key, DbType.Guid); _params.Add("@rfp_prd_key", item.rfp_prd_key, DbType.Guid); _params.Add("@rfp_id", item.rfp_id, DbType.Int64); _params.Add("@rfp_name", item.rfp_name, DbType.String); _params.Add("@rfp_summary", item.rfp_summary, DbType.String); _params.Add("@rfp_background", item.rfp_background, DbType.String); _params.Add("@rfp_bid_number_in_LG", item.rfp_bid_number_in_LG, DbType.String); _params.Add("@rfp_pre_proposal_meeting_date", item.rfp_pre_proposal_meeting_date, DbType.DateTime); _params.Add("@rfp_pre_proposal_meeting_location", item.rfp_pre_proposal_meeting_location, DbType.String); _params.Add("@rfp_submission_instructions", item.rfp_submission_instructions, DbType.String); _params.Add("@rfp_type", item.rfp_type, DbType.Int32); _params.Add("@rfp_subtype", item.rfp_subtype, DbType.Int32); _params.Add("@rfp_solo_multiple_sources", item.rfp_solo_multiple_sources, DbType.String); _params.Add("@rfp_issue_date", item.rfp_issue_date, DbType.DateTime); _params.Add("@rfp_question_deadline", item.rfp_question_deadline, DbType.DateTime); _params.Add("@rfp_question_answer_deadline", item.rfp_question_answer_deadline, DbType.DateTime); _params.Add("@rfp_vendor_meeting_date", item.rfp_vendor_meeting_date, DbType.DateTime); _params.Add("@rfp_close_date", item.rfp_close_date, DbType.DateTime); _params.Add("@rfp_scoring_date", item.rfp_scoring_date, DbType.DateTime); _params.Add("@rfp_vendor_post_submission_meeting_date", item.rfp_vendor_post_submission_meeting_date, DbType.DateTime); _params.Add("@rfp_decision_date", item.rfp_decision_date, DbType.DateTime); _params.Add("@rfp_award_date", item.rfp_award_date, DbType.DateTime); _params.Add("@rfp_validation_date", item.rfp_validation_date, DbType.DateTime); _params.Add("@rfp_scope_of_work", item.rfp_scope_of_work, DbType.String); _params.Add("@rfp_sow_introduction", item.rfp_sow_introduction, DbType.String); _params.Add("@rfp_sow_solution_requirements", item.rfp_sow_solution_requirements, DbType.String); _params.Add("@rfp_sow_project_timeline", item.rfp_sow_project_timeline, DbType.String); _params.Add("@rfp_sow_cost", item.rfp_sow_cost, DbType.String); _params.Add("@rfp_skills", item.rfp_skills, DbType.String); _params.Add("@rfp_budget", item.rfp_budget, DbType.Double); _params.Add("@rfp_awarded", item.rfp_awarded, DbType.Double); _params.Add("@rfp_department", item.rfp_department, DbType.String); _params.Add("@rfp_view_count", item.rfp_view_count, DbType.Int32); _params.Add("@rfp_add_user", item.rfp_add_user, DbType.String); _params.Add("@rfp_questionnaire", item.rfp_questionnaire, DbType.String); _params.Add("@rfp_evaluation_process", item.rfp_evaluation_process, DbType.String); _params.Add("@rfp_evaluation_criteria", item.rfp_evaluation_criteria, DbType.String); _params.Add("@rfp_terms_conditions", item.rfp_terms_conditions, DbType.String); _params.Add("@rfp_date_notes", item.rfp_date_notes, DbType.String); _params.Add("@rfp_published", item.rfp_published, DbType.Boolean); _params.Add("@success", DbType.Boolean, direction: ParameterDirection.Output); var result = _dBConnection.Execute("USP_Rfp_Request_Add", _params, null, null, CommandType.StoredProcedure); return(new Response <RfpRequest>(item) { Success = _params.Get <Int32>("success") == 1 ? true : false }); } catch (Exception ex) { throw ex; } }
public Response <RfpRequest> Update(RfpRequest item, string user) { return(_rfpRequestRepositoryDAC.Update(item, user)); }
public Response <RfpRequest> Add(RfpRequest item, string user) { return(_rfpRequestRepositoryDAC.Add(item, user)); }
public ActionResult Create(RfpRequest entity) { ViewData["Categories"] = _prodTypeFacade.GetAll(); 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_prd_key = null; entity.rfp_org_key = CurrentUser.User.org_key; var result = _rfpRequestFacade.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()); } // Save added contacts to RACI. foreach (var contact in entity.RACIContactList) { _contactFacade.Add_RACI_Contact(contact.lk5_key.ToString(), contact.ct_key.ToString(), entity.rfp_key.ToString(), null, CurrentUser.User.ct_key.ToString()); } return(RedirectToAction("", "rfp")); } else { ModelState.AddModelError("", "Could not save RFP"); } } return(View(entity)); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(entity)); } }