private async Task <ResultModel <IDictionary <string, string> > > GetTagsValues(Guid?agreementId) { if (agreementId == null) { return(new InvalidParametersResultModel <IDictionary <string, string> >()); } var agreement = await _context.Agreements .Include(i => i.Organization) .Include(i => i.Contact) .Include(i => i.Lead) .ThenInclude(i => i.Currency) .Include(i => i.OrganizationAddress) .ThenInclude(i => i.City) .ThenInclude(i => i.Region) .FirstOrDefaultAsync(x => x.Id.Equals(agreementId)); var tagsValues = ContractTagsHelper.GetInjectedStrings(agreement); return(new SuccessResultModel <IDictionary <string, string> >(tagsValues)); }
/// <summary> /// Add tags /// </summary> /// <param name="services"></param> /// <returns></returns> public static IServiceCollection AddCustomTags(this IServiceCollection services) { // system ContractTagsHelper.AddNewKey("CurrentDate", (agreement, objects) => DateTime.Now.ToString("dd/MM/yyyy")); // Lead organization ContractTagsHelper.AddNewKey("OrganizationName", (agreement, objects) => agreement.Organization?.Name ?? ""); ContractTagsHelper.AddNewKey("IDNO", (agreement, objects) => agreement.Organization?.FiscalCode ?? ""); ContractTagsHelper.AddNewKey("IBAN", (agreement, objects) => agreement.Organization?.IBANCode ?? ""); ContractTagsHelper.AddNewKey("Bank", (agreement, objects) => agreement.Organization?.Bank ?? ""); ContractTagsHelper.AddNewKey("Phone", (agreement, objects) => agreement.Organization?.Phone ?? ""); ContractTagsHelper.AddNewKey("Email", (agreement, objects) => agreement.Organization?.Email ?? ""); ContractTagsHelper.AddNewKey("CodTva", (agreement, objects) => agreement.Organization?.VitCode ?? ""); ContractTagsHelper.AddNewKey("CodSwift", (agreement, objects) => agreement.Organization?.CodSwift ?? ""); // Address ContractTagsHelper.AddNewKey("Region", (agreement, objects) => { var address = agreement.OrganizationAddress; if (address == null) { return(""); } return(address.City?.Region?.Name ?? ""); }); ContractTagsHelper.AddNewKey("City", (agreement, objects) => { var address = agreement.OrganizationAddress; if (address == null) { return(""); } return(address.City?.Name ?? ""); }); ContractTagsHelper.AddNewKey("Street", (agreement, objects) => { var address = agreement.OrganizationAddress; if (address == null) { return(""); } return(address.Street ?? ""); }); //Contact ContractTagsHelper.AddNewKey("Contact", (agreement, objects) => { var contact = agreement.Contact; if (contact == null) { return(""); } return(contact.FirstName ?? "" + " " + contact.LastName); }); // Lead ContractTagsHelper.AddNewKey("Currency", (agreement, objects) => agreement.Lead.Value.ToString()); // Agreement ContractTagsHelper.AddNewKey("Value", (agreement, objects) => agreement.Values.ToString()); ContractTagsHelper.AddNewKey("Commission", (agreement, objects) => agreement.Commission.ToString()); return(services); }